1丶SQL语句可以单行或多行书写,以分号结尾.
2丶SQL语句可以使用空格或缩进来增强语句可读性.
3丶MySQL数据库的SQL语句不区分大小写,关键字建议使用大写
4丶注释:
. 单行注释: - - 注释内容或 # 注释内容(MySQL特有)
. 多行注释: /*注释内容*/
2.2 SQL分类
1丶DDL(Data Definition Language) : 数据定义语言,用来定义数据库对象(数据库,表,字段)
2丶DML(Data manipulation Language) : 数据操作语言,用来对数据库中的数据进行增删改
3丶DQL(Data Query Language) : 数据查询语言,用来查询数据库中标的记录
4丶DCL(Control Language) : 数据控制语言,用来创建数据库用户丶控制数据库的访问权限
2.2.1 DDL - 数据库操作(字母可以小写)
1丶查询
查询所有数据库: SHOW DATABASES;
查询当前数据库: SELECT DATABASE();
2丶创建
CREATE DATABASE [IF NOT EXISTS]数据库名[DEFAULT CHATSET字符集][COLLATE排序规则];
3丶删除
DROP DATABASE[IF EXISTS]数据库名;
4丶使用
USE 数据库名;
2.2.2 DDL-表操作-查询
1丶查询当前数据库所有表: SHOW TABLES;
2丶查询表结构: DESC表名;
3丶查询指定表的建表语句 :SHOW CREATETABLE 表名;
2.2.3 DDL-表操作- 创建
CREATE TABLE 表名(
字段1 字段1类型[COMMENT 字段1注释],
字段2 字段2类型[COMMENT 字段2注释],
字段3 字段3类型[COMMENT 字段3注释],
...........
字段n 字段n类型[COMMENT 字段n注释]
)[COMMENT 表注释];
注意: 在最后一字段后面没有逗号丶 ENGINE=InnoDB(存储引擎)
2.2.4 DDL-表操作-数据类型
MySQL中的数据类型有很多,主要分为三类:数值类型丶字符串类型丶日期时间类型.
1丶数据类型
// 1丶java数据类型:1字节byte 2字节short 4字节int 8字节long(123.45精度是5,标度是2)
//2丶age TINYINT UNSIGNED
//3丶score double(4,1) //4代表整体长度,1代表小数位数
2丶字符串类型
//1丶char(10) ................> 性能好定长字符串 用户名 username varchar(50)
//2丶varchar(10) ...............> 性能较差 性别 gender char(1)
//1丶birthda date
//案例 ---- 员工信息表
1丶编号(纯数字)
2丶员工工号(字符串类型,长度不超过10位)
3丶员工姓名(字符串类型,长度不超过10位)
4丶性别(男/女,存储一个汉字)
5丶年龄(正常人年龄,不可能存储负数)
6丶身份证号(二代身份证号均为18位,身份证中有x这样的字符)
7丶入职时间(取值年月日即可)
代码如下:
create table emp(
id int comment '编号',
workno varchar(10) comment '工号', //varchar(10) - - - 变长字符串
name varchar(10) comment '姓名',
gender char(1) comment '性别', //char(1) - - - 定长字符串
age tinyint unsiqned comment '年龄', //tinyint unsiqned--- 小整数型无负号 0~256
idcard char(18) comment '身份证号',
entrydate date comment '入职时间' date --- 日期
) comment '员工表';
2.2.5 DDL-表操作-修改
1丶添加字段
ALTER TABLE 表名 ADD 新加表名 类型(长度) [COMMENT 注释] [约束];
案例:
为emp表增加一个新的字段"昵称"为nickname,类型为varchar(20)
2丶修改数据类型
ALTER TABLE 表名 MODIFY 新加表名 新数据类型(长度);
//修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 类型(长度)[comment 注释] [约束];
案例
将emp表中的nickname字段修改为username,类型为varchar(30)
3丶删除字段
ALTER TABLE 表名 DROP 字段名;
案例: 将emp表中的字段username删除
ALTER TABLE emp DROP username;
4丶修改表名
ALTER TABLE 表名 RENAME TO 新表名;
案例:
将emp表名修改为employee
ALTER TABLE emp RENME TO employee;
5丶删除表(删除表,表内数据也会清空)
DROP TABLE [IF EXISTS] 表名;
删除指定表,并重新创建该表
TRUNCATE TABLE 表名;
//总结:
1丶DDL-数据库操作
show databases; --- 查看所有数据库语法
create database 数据库名 ---创建数据库语法
use 数据库名 ---查找指定数据库语法
select database(); ---查看当前属于哪一个数据库
drop database 数据库名; ---删除数据库
2丶DDL-表操作
show tables; //查看当前所有数据库的表
create table 表名(字段 字段类型 ,字段 字段类型); //创建表
desc 表名; //指定表名
show create table 表名; //查询这张表的建表语句
alter table 表名 //指定表名 add/modify/change/drop/rename to ...; //添加丶修改丶修改名称及类型丶字段丶修改表名;
drop table 表名; //删除表