查看现有的数据库
>SHOW DATABASES;
创建数据库
CREATE DATABASE test; (创建名字为test的数据库)
在sql里所有的名字都要带上反引号,不然如果名字为关键字会产生冲突
查看数据库创建语句
SHOW CREATE DATABASE test;
(* 我们默认的显示格式,通常是表格格式,这就使得特别长的表格显示不好看
改为:
>SHOW CREATE DATABASE test\G;)
在sql语句里,任何语句都要以“;”来结尾或者“\G"来结尾,否则只是换了一行来继续输入,在sql里可以跨行输入,如果出现-》通常需要继续补充后续内容。在以分好结尾。如果在中途有输入错误,则可以以”\c“来取消报错。
在更改配置文件后,数据库的默认编码改为了”utf8“。
所以在创建数据库的时候手动指定编码。
CHARACTER SET UTF8
删除数据库
DROP DATABASE 库名;
修改数据库设置
ALTER DATABASE 库名 CHARSET UTF8;
不建议在MySQL中去修改数据库的名字(在创建一个新表,然后把数据库里的表全部移动过去)
在sql数据库中统一将“关键字”和“保留字”大写,而自定义名字通常小写,且带上反引号。
数据库的排序默认设置为‘collation’,所以通常不需要去关心。
二、建表
在直接制定一个数据库中的表的时候,必须要带上数据库名,例如:‘MySQL’数据库中的‘user’表,应该写成‘MySQL.user'。
其次,如果你希望省略掉’数据库名‘那么请使用一个优先数据库。
创建表格
CREATE TABLE `test`.`user`(
`email` char(100) CHARSET latin1 NOT NULL DEFAULT ' ',
`name` varchar(20) COLLATE utf8_bin NOT NULL DEFAULT ' ',#varchar根据数据大小自动分配。
`gender` boolean,
PRIMARY KEY(`email`,`name`)#组件,表明这两个组合在一起是唯一且不为空。
);
ENGINE=MyISAM(InnoDB)#引擎MyISAM查询快,InnoDB修改快。默认使用InnoDB
1.在指定表名的时候要指定是哪个数据库的,并且用点号还分割数据库名和表名,但是不能把点号包含在反引号之内。
2.用一个大括号包含了每一列,通常把每一列卸载一行里,并用逗号分割。
3.表和列都和数据库一样,可以在创建时设置编码、字符集以及排序规则。
如果没有指定就有一套继承规则:行继承表,表继承数据库,数据库继承配置文件。
查看一个现有表的创建语句
SHOW CREATE TABLE 'mysql’,‘user’;
utf8_general_ci 不区分大小写的排序,速度快
utf8_general_bin 区分的排序