1.SQL
1.1SQL通用语法
- 1.SQL语句可以单行或多行书写,以分号结尾
- 2.SQL语句可以使用空格/缩进来增强语句的可读性。
- 3.MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
- 4.注释:
- 单行注释:–空格 注释内容或#注释内容(MySQL特有)
2.多行注释: /*注释内容*/
1.2SQL分类
分类 | 全称 | 说明 |
---|---|---|
DDL | Data Definition Language | 数据定义语言,用来定义数据库对象(数据库,表,字段) |
DML | Data Manipulation Language | 数据操作语言,用来对数据库表中的数据进行增删改 |
DQL | Data Query Language | 数据查询语言,用来查询数据库中表的记录 |
DCL | Data Control Language | 数据控制语言,用来创建数据用户,控制数据库的访问控制权限 |
1.3 DDL
1.3.1DDL-数据库操作
查询
查询所有数据库
SHOW DATABASES;
查询当前数据库
SELECT DATABASE();
创建
CREATE DATABASE[IF NOT EXISTS]数据库名[DEFAULT CHARSET字符集][COLLATE排序规则];
删除
DROP DATABASE[IF EXISTS]数据库名;
使用
USE 数据库名;
1.3.2DDL-表操作-查询
查询当前数控库所有表
SHOW TABLES;
查询表结构
DESC 表名;
查询指定表的建表语句
SHOW CREATE TABLE表名;
1.3.3DDL-表操作-创建
CREATE TABLE 表明(
字段1 字段1类型[COMMENT 字段1注释],
字段2 字段2类型[COMMENT 字段2注释],
字段3 字段3类型[COMMENT 字段3注释],...
字段n 字段n类型[COMMENT 字段n注释])COMMENT 表注释
注意:最后一个字段后面是没有逗号的。
1.3.4数据库中的数据类型
1.3.5简单案例分析题
/*1.编号(纯数字)
2.员工工号(字符串类型,长度不超过10位)
3.员工姓名(字符串类型,长度不超过10位)
4.性别(男/女,存储一个汉字)
5.年龄(正常人年龄,不可能存储负数)
6.身份证号(二代身份证均为18位,身份证中有X这样的字符)
7.入职时间(取值年月日即可)*/create table emp(id int,workno varchar(10) comment '工号',name varchar(10) comment '姓名',gender char(1) comment '性别',age tinyint unsigned comment '年龄',idcard char(18) comment '身份证号',entrydate date comment '入职时间')comment '员工表';
1.3.5DDL-表操作-修改
添加字段
ALTER TABLE表名 ADD字段名 类型(长度)[COMMENT 注释][约束];
为emp表增加一个新的字段“昵称”为nickname,类型为varchar(20)
修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度)
修改字段名和字段类型
ALTER TABLE 表名CHANGE 旧字段名 新字段名 类型(长度)[COMMENT 注释][约束]
将emp表中的nickname字段修改为username,类型为varchar(30)
删除字段:
ALTER TABLE 表名 DROP 字段名;
将emp表的字段username删除
修改表名
ALTER TABLE 表名 RENAME TO 新表名;
将emp表的表名修改为employee
1.3.6DLL-表操作-删除
删除表
DROP TABLE[IF EXISTS]表名;
删除指定表,并重新创建该表
TRUNCATE TABLE 表名;
注意:在删除表时,表中的全部数据也会被删除。