首先,提两个linux下bash终端sql开机命令及一些注意点(首先你要再linux安装mysql,哈哈)
1.service mysqld start ,开启数据库服务器端;
2.mysql -u root -p ,以root身份+密码登陆数据库;
3.mysql 语句 以 “;”或者“\g” 代表语句结束;
4.mysql下,默认存放的库:
- information_schema 存放字符集等;
- mysql:存放用户信息,权限信息等,(后面的文章讲到DCL语言会明白)
- test:默认为一个空库
进入正题,SQL语言包括DDL,DML,DCL;
DDL(数据定义语言)--对库,表的操作;
对库的操作:(create 、drop、alter 、show)
- 创建:create database +库名;
因为DDL可以对库和表进行操作,需要提供标识区别库和表,如create database 库名,此创建为创建数据库;
有没有考虑过重复创建同名的库所导致的问题呢?
这样就会导致程序终止,在大型的项目上线运行中,终止程序是个大麻烦,于是可以加此操作,库不会重复创建,程序不会终止::create database [if not exists] my_test ;
- 删除:drop database +库名;(同上 + if exists)
- 查看:show databases;(查看所有的库)
对表的操作:(先要use +库名,使用哪个库进行表操作)
- 创建:create table 表名(字段信息,类型,约束,注释);
也可以不加后面信息,创建一个空表,后面可以修改表再加入;以上方便建议使用,后面的信息可以根据自己需求选填;
- 删除:drop table 表名;
- 修改:alter,需要其他的修改指令用;
<1>修改字段类型(modify);
代码:alter table Stu modify name varchar(20);
<2>修改字段名称(change);
代码:alter table Stu change id ID ;
<3>添加新的字段(add);
代码:alter table Stu add sex int;
在字段后面加first/after +属性,可以指定把属性添加到哪个属性后面或者前面,不加默认在最后;
<4>删除字段(drop);
代码:alter table Stu drop 字段名称;
<5>修改表名(rename);
代码:alter table Stu rename student;
- 查看:
<1>查看表的创建信息:
代码:show create table 表名;
<2>查看表结构:
代码:desc +表名;