查看现有数据库:SHOW DATABASES;
创建数据库:CREATE DATEBASE '表名'
查看数据库创建语句:SHOW CREATE DATABASE '表名'
看数据库创建语句
SHOW CREATE DATABASE `test_python`;
注意:我们的默认显示格式,通常是表格格式,这就使得,特别长的表,显示出来不好看。想要获取另一种显示格式,需要使用\G
SHOW CREATE DATABASE `test_python`\G
建议:在mysql里面,所有的名字,最好带上反引号(和~在同一个键)。理由是,为了强调这个是一个名字,而不会和我们mysql的关键字冲突
注意:在sql语句里,任何的语句,都要用;或者\G结尾,否则,MySQL认为这个语句没有结尾,只是换一行继续写。以为两件事:1.我们的SQL可以跨越多行,其次,如果出现了->,那么通常需要补齐接下来的内容,再;。
如果你失误,传入了一些输入错误的行,那么,为了避免报错,可以选择使用\c来结尾,取消条命令。
我们由于更改了配置文件,可以发现,我们的数据库默认使用了utf8编码。
提示:其实,我们可以不修改配置文件,但是的话,那样,你每次创建数据库,都需要手动指定编码。
所以,建数据库的好规范是带上我们的编码
CREATE DATABASE `db_2` CHARACTER SET utf8;
或者使用简写的方法
CREATE DATABASE `db_2` CHARSET utf8;
DROP DATABASE `db2`;
ALTER DATABASE `db_3` CHARSET utf8;
能否修改数据库的名字?: 通常在mysql不去修改修改数据库的名字。如果非要改,你就先创建一个新的数据库,然后把这个数据库里的表全部都移动过去。
有些东西是不是一定要大写呢?: 在SQL数据库(不只是MySQL)同意有一个规范,通常关键字或保留字都大写,自定义名字通常小写,且带上反引号。但是,只是规范,你愿意遵守,就遵守。
数据库的设置部分,只有字符集可以设置嘛?: 不是的,还可以设置排序规则collation,但是默认情况下,都会有一个默认的collation所以,通常不需要我们去关心。
首先,有两件事,我们必须要要讲清楚:
我们在直接制定一个数据库中表的时候,必须要带上它的数据库名。例如:mysql数据库中user表,应该写成mysql.user。
其次,如果你希望省略掉数据库名那么请使用一个优先数据库:mysql USE mysql;
SHOW CREATE TABLE `mysql`.`user`\G
我们可以从自带表,学习到,如何去创建一个基本用户表。
CREATE TABLE `test_python`.`user` (
`email` char(100) CHARSET latin1 NOT NULL DEFAULT '',
`name` varchar(20) COLLATE utf8_bin NOT NULL DEFAULT '',
`gender` boolean,
PRIMARY KEY(`email`)
);
要点:
在指定表名的时候,要指定是哪个数据库的,并且用.这个符号来分割数据库名和表名。但是,不能把.包含在反引号里面。
用一个大括号包含了每一列,通常把,每一列写在一行里,并用,分割。
表和列都和数据库一样,可以单独设置编码字符集和排序规则。
注意:如果没有指定,那么就有一套继承规则: 行->表->数据库->配置。
在MySQL,每一列必须有指定的类型,不可变。
通常常用的:
char(n): 固定长度字符串
varchar(n): 限定了最大长度的可变长字符串
int:整数
decimal: 定点数
float: 浮点数
text: 长文本
blob: 大块二进制
datatime: 日期时间
boolean: 布尔值
USE `mysql`;
SHOW TABLES;
DROP TABLE `teacher`;
RENAME TABLE `user` TO `students`;
RENAME TABLE `test_python`.`students` TO `db_3`.`users`;