查看MySQL服务器中的已有数据库
在MySQL命令客户端输入如下语句:
mysql>SHOW DATABASES;
![](https://i-blog.csdnimg.cn/blog_migrate/4fe2839d8d1b4285daa3c35d95010257.png)
创建数据库
创建名称为stusys的学生信息数据库(该数据库是本书的重要数据库)
MySQL命令客户端输入如下语句:
mysql>CREATE DATABASE stusys;
![](https://i-blog.csdnimg.cn/blog_migrate/195180b8ce80c2cc2a5bf9392a5b2a75.png)
查看已有数据库:
mysql>SHOW DATABASES;
![](https://i-blog.csdnimg.cn/blog_migrate/724119db01e4eed7573eb99ba32c69c4.png)
选择数据库
选择stusys为当前数据库
mysql>USE stusys;
![](https://i-blog.csdnimg.cn/blog_migrate/6d92df845dc399885e3ab121408bae45.png)
修改数据库
修改数据库stusys的默认字符集和校对规则
mysql> ALTER DATABASE stusys
-> DEFAULT CHARACTER SET gb2312
-> DEFAULT COLLATE gb2312_chinese_ci;
![](https://i-blog.csdnimg.cn/blog_migrate/d214b9e2944c7f1416477031cf5ffd79.png)
删除数据库
删除数据库stusys
mysql> DROP DATABASE stusys;
![](https://i-blog.csdnimg.cn/blog_migrate/3cfc4c6ea3f5991b4c56958de6d09989.png)
数据类型:1.整数类型2.定点数类型3.浮点数类型
定义表
创建新表
在学生信息数据库(stusys)中创建students表,student表是基本表之一
MySQL命令客户端输入如下语句:
mysql> USE stusys;
Database changed
mysql> CREATE TABLE student
->(
-> sno char(6) NOT NULL PRIMARY KEY,
-> sname char(8) NOT NULL,
-> ssex char(2) NOT NULL DEFAULT ‘男’,
-> sbirthday date NOT NULL,
-> speciality char(12) NULL,
-> tc tinyint NULL
->);
![](https://i-blog.csdnimg.cn/blog_migrate/7113c233e4fb2934ed01ddaebeb6f771.jpeg)
复制已有表
在数据库stusys中,使用复制方法创建student1表,表结构取自student表
mysql> USE stusys;
Database changed
mysql> CREATE TABLE student1 like student;
![](https://i-blog.csdnimg.cn/blog_migrate/f92a4c29603c13e8c6f77263590fc887.jpeg)
查看表的基本结构
查看数据库stusys中student表的基本结构
mysql>SHOW COLUMNS FROM student;
![](https://i-blog.csdnimg.cn/blog_migrate/5711b8cf9bd062a391bf21ea6d0c76ef.jpeg)
查看表的详细结构
查看数据表stusys中student表的详细结构
mysql>SHOW CREATE TABLE student/G
![](https://i-blog.csdnimg.cn/blog_migrate/5c4f2e5c334dd97018e46bc5c1e0e037.jpeg)
修改表
添加列
在数据库stusys 的student1表中增加一列sid,添加到表的第一列,不为空,取值唯一并自动增加
mysql>ALTER TABLE stusys.student1
->ADD COLUMN sid int NOT NULL UNIQUE AUTO_INCREMENT FIRST;
mysql>DESC stusys.student1;
![](https://i-blog.csdnimg.cn/blog_migrate/31459610124a1f8355cdfb15e2dc2e2a.jpeg)
修改列
将数据库stusys 的student1表的sbirthday列修改为sage,将数据类型改为tinyint,可为空,默认值为18
mysql>ALTER TABLE stusys.student1
->CHANGE COLUMN sbirthday sage tinyint DEFAULT 18;
![](https://i-blog.csdnimg.cn/blog_migrate/2d0ef1de027e48e261c60ca3635b05a3.jpeg)
删除列
删除数据库stusys的student表中的sid列
mysql>ALTER TABLE stusys.student1
->DROP COLUMN sid;
![](https://i-blog.csdnimg.cn/blog_migrate/f38eab641db7c4fe8fb026b830ef2dde.jpeg)
重命名表
在数据库stusys中,将student1表重命名student2表
mysql>ALTER TABLE stusys.student1
->RENAME TO stusys.student2;
![](https://i-blog.csdnimg.cn/blog_migrate/a3a0c5ec25a17d71f24671788a4abaa1.jpeg)
在数据库stusys中,将student2表重命名student3表
mysql>RENAME TABLE stusys.student2 TO stusys.student3;
![](https://i-blog.csdnimg.cn/blog_migrate/7268225c3c52bc36e290be6daa6e3f55.jpeg)
删除表
mysql>DROP TABLE stusys.student3;
![](https://i-blog.csdnimg.cn/blog_migrate/27ca75ec717e8441b8a3a5151002ad82.jpeg)
存储引擎
查看存储引擎
mysql>SHOW ENGINES;
![](https://i-blog.csdnimg.cn/blog_migrate/dcd7f4d3724d7510bf9660e16abae1ff.png)