一.MySQL语法书写规范:
(1).SQL语句要以分号;结尾
在 RDBMS(关系型数据库)当中,SQL语句是逐条执行的,一条 SQL语句代表着数据库的一个操作。SQL语句是使用英文分号;结尾。
(2).SQL语句不区分大小写
SQL不区分关键字的大小写。例如,不管写成 SELECT还是 select,解释都是一样的。表名和列名也是如此。
为了书写规范建议:关键字大写,数据库名、表名和列名等小写
需要注意的是,插入到表中的数据是区分大小写的。例如,向数据库中插入单词 Computer、COMPUTER 或 computer,这三个是不一样的数据
(3).常数的书写方式是固定的
SQL语句常常需要直接书写字符串、日期或者数字。例如,书写向表中插入字符串、日期或者数字等数据的 SQL语句。
(4).单词需要用半角空格或者换行来分隔
SQL语句中的标点符号必须都是英文状态下的,即半角字
二.数据定义语言(Data Definition Language,DDL)
用来创建或删除数据库以及表等对象,主要包含以下几种命令:
<1>.CREATE:创建数据库和表等对象
(1).CREATE创建数据库
语法1:create database 数据库名; lg: create database user_info1;
语法2:create database [if not exists] <数据库名> [[default] character set <字符集名>] [[default] collate <校对规则名>];
[]中的内容是可选的
[if not exists]:在创建数据库之前进行判断数据库名是否已经存在
[default] character set:指定数据库的字符集
[default] collate:指定字符集的默认校对规则
lg:create database if not exists stu1 default character set utf-8 default collate utf8_chinese_ci;
(2).CREATE创建表
语法规则:create table <表名> ([表定义选项])[表选项][分区选项];
[表定义选项]的格式为:
<列名1> <类型1> [,…] <列名n> <类型n>
lg:CREATE TABLE student1(id INT(11),name VARCHAR(25),deptId INT(11),salary FLOAT);
<2>.ALTER:修改数据库和表等对象的结构
(1).alter操作数据库
(2).alter操作表字段
其语法格式如下:
ALTER TABLE <表名> [修改选项]
修改选项的语法格式如下:
{ ADD COLUMN <列名> <类型>
| CHANGE COLUMN <旧列名> <新列名> <新列类型>
| ALTER COLUMN <列名> { SET DEFAULT <默认值> | DROP DEFAULT }
| MODIFY COLUMN <列名> <类型>
| DROP COLUMN <列名>
| RENAME TO <新表名>
| CHARACTER SET <字符集名>
| COLLATE <校对规则名> }
1)增加字段
alter table 表名 add 字段名 字段类型;
alter table student add name varchar(10);
2)修改字段
alter table 表名 change 旧字段名 新字段名 字段类型;
alter table 表名 modify 字段名 字段类型;//修改字段类型
alter table student change name name varchar(20)not null default 'liming';//修改字段类型 default后边是字段默认的值
alter table student change name user varchar(20)not null default 'liming';//修改字段名
3)删除字段
alter table 表名 drop 字段名;
alter table student drop age;
(3).alter索引操作
1)增加索引
alter table 表名 add index 索引名 (字段名1,字段名2.....);
alter table student add index stu_name(name);
2)删除索引
alter table 表名 drop index 索引名;
alter table student drop index stu_name;
3)查看某个表的索引
show index from 表名;
4)增加唯一限制条件的索引
alter table 表名 add unique 索引名(字段名);
(4).alter主键操作
1)增加主键:
alter table 表名 add primary key(字段名);
2)删除主键:
alter table 表名 drop primary key;(主键不是自动增长情况下)
alter table 表名 modify 字段 字段类型, drop primary key;(主键是自动增长情况下)
alter table 123 modify id int,drop primary key;
<3>.DROP:删除数据库和表等对象
(1).删除数据库
drop database [if exists] <数据库名>
lg:drop database user_info1;
注意:MySQL安装后,系统会自动创建名为 information_schema 和 mysql的两个系统数据库,系统数据库存放一些和数据库相关的信息,如果删除了这两个数据库,MySQL 将不能正常工作。
(2).删除表字段
1)删除索引操作
2)删除表
3)删除视图