本文共 3038 字,大约阅读时间需要 10 分钟。
========终端中操作数据库===========(在终端中使用mysql命令时,需要先配置环境变量)=====
第一次链接数据库时,没有密码输入mysql -uroot -p直接回车,要你输入密码,直接不输入,回车,就链接了数据库;
修改数据库的密码:
空密码登陆之后,然后输入“use mysql”,意思是使用mysql这个数据库,提示“Database changed”就行。
然后输入要修改的密码的sql语句“update user set password=PASSWORD('hooray') where user='root';”,注意,sql语句结尾的分号不能少;最后输入“flush privileges;”,不输入这个的话,修改密码的操作不会生效的。然后输入“quit”退出。
设置了数据裤的密码后:登陆如下
显示mysql中所有可用的字符集----------------show charset;
显示所有可用的排序规则-------------------------show collation;
启动mysql-----------net start mysql
停止mysql-----------net stop mysql
打开帮助---------------- mysql --help
PHP数据库mysql----------------
刚开始的时候数据的密码是空,设置完数据库的密码后,第二次登陆phpmyadmin会报错,这时需要在phpmyadmin中的config.inc.php中的$cfg[server][password]="刚才修改的密码"
============下面的如果是80 端口,则(-P端口号)可以省略,如果是localhost,(-h服务器地址)可以省略
====================php代码中数据库语句=====================
====================数据库定义语言DDL-------------------
create database [if not exists] 数据库名 [charset 字符集] [collate 字符排序规则];
修改数据库----- alter database 数据库名 character set=新字符集 collate=新的比较规则;
删除数据库----drop database 数据库名;
进入某个数据库----use 数据库名;
显示所有数据库---show databases;
显示某个数据库的创建语句----show create database 数据库名;
================数据库字段类型--------------------
整数中如果加上unsigned,则表示无符号;从0开始;
create table [ if not exists] 表名 (字段名 类型名[长度] [usigned] [zerofill]);------通常写成create table tab1 (字段名 类型名);
==================小数类型-------------------
decimal(20,5)--------------------表示小数类型踪长度最长20位,保留5位小数;
=================字符串类型===========================
varchar如果没超过设定的长度,以实际长度为准,如果超出了设定的长度,则超出的部分数据丢失;char类型,长度少于设定的长度,则多出来的部分用空格补齐;
+++++++++++++++++一个字符可能是一个字节,两个字节,三个字节,四个字节;
======================二进制文本=====================================
上面的enum和set类型只能插入创建时提供的数据,否则报错;
如果不在上面的类型的表示范围内,就用字符串来表示时间;
=================表定义语句-------------------------------------
一个字段可以添加多个字段属性;
一个表只能设定一个主键;
create table [if not exists] 表名(字段列表,[约束或者索引列表]);
删除表---------drop table [if exists]表名;
[primary] key中的primary可以省略;unique [key] 中的key可以省略;
------------------------------索引--------------------
key(f2)相当于给字段f2添加一个普通索引;
=============约束----------------
foreign key(班级主键) references 表1(班级号);------班级主键是表2 的主键,也是表1的外键;
注意:有的约束只能在字段上当做字段属性来设定;如果非空约束和默认约束,其他约束可以在字段上设置,也可以单独设置;
非空约束not null,默认约束default 12.3;
=====================表选项有默认值,总是有值得======================
===========================修改表=======================
字段的操作:--------
增加字段:alter table 表名 add [column] 字段名 字段类型 字段属性;
删除字段:alter table 表名 drop 字段名 ;
更改字段:alter table 表名 change 原字段名 新字段名 新字段类型 新字段属性show tables-------------显示所有的表;
des 表名----------------显示表的结构 ;
show create table 表名-------------------显示表的创建语句;
=============表的其他操作语句================
从已有的表复制表的结构:方法一----------create table [if not exists] 新表名 like 原表名;-------复制表的结构,然后在插入数据;
方法二------------ create table [if not exists] 新表名 select *from 原表名;---这一句复制了表的结果和数据,这个方法复制的时候回丢掉一些属性,推荐用方法一,然后在查如数据。
方法三-------------------- create table [if not exists] 新表名 select *from 原表名 where 1<>1;----这一句只复制了表的结构,数据没有复制;这个方法复制的时候回丢掉一些属性,推荐用方法一,然后在查如数据。
数据库表的设计思想===================
一个表只要有主键,其他非键一定依赖于主键;
部分依赖的前提是至少有两个字段组成的联合主键;非主键字段依赖联合主键的部分字段;
总结: