1.mysql的DDL语句(数据库的定义语句)
1)库的操作
查看所有的库:show databases;
创建库:create database 库名;//直接创建
create database if not exists 库名;//如果不存在这个库,创建
查看创建的数据库的默认字符集:show create database 库名;
修改数据库的字符集:alter database 库名 default character set gbk;
删除库:drop database 库名;//直接删除
drop database if exists 库名;//如果存在这个库,删除
2)表的操作
前提是使用一个库,use 库名;
创建表:create table 表名;
查询库中所有的表:show tables ;
查询表的结构:desc 表名;
修改表:
1.修改表的字段名称:alter table 表名 change 旧字段名称 新字段名称;
2.修改表的字段类型:alter table 表名 modify 字段名称 新的字段类型;
3.给表中新添加一列(一个新的字段名称):alter table 表名 add 字段名称 字段类型;
4.将表中的某一列(某个字段)删除:alter table 表名 drop 字段名称;
5.复制一张一模一样的表:create table 新表名 like 旧表名;
6.对表名重命名:alter table 旧表名 rename to 新表名;
7.删除表:drop table 表名;
2.mysql的DML语句(数据库操作语句)
插入数据,删除数据,修改数据,查询数据...
1)插入语句
语法1:插入全部字段,给全部字段进行赋值
insert into 表名 values (值1,值2,...,值n);一次插入一条
语法2:insert into 表名 values(值1,值2,...,值n),(值1,值2,...,值n)...一次插入多条
语法3:插入部分字段,未插入的字段的默认值就是null
insert into 表名(字段名称1,字段名称2,...)values(值1,值2,...);也支持一次插入多条
2)修改语句
语法1:修改单个字段
update 表名 set 字段名称=值 where 字段名称=xx;
语法2:修改多个字段
update 表名 set 字段名称1=值1,字段名称2=值2,...,字段名称n=值n where 字段名称=xx;
语法3:批量修改
update 表名 set 字段名称=值;
语法4:带多个条件同时修改
update 表名 set 字段名称=值 where 条件1=xx and 条件2=xx and 条件3=xx...;
3)删除语句
语法:delete from 表名 where 字段名称=值;
条件中的字段名称,一般在开发中,都是用非义务字段id(唯一的),因为业务字段可能出现重复
delete from 表名;
truncate table 表名;
共同点:都能够删除全表记录
不同点:
delete from 表名;仅仅只是删除全表数据,而不是删除表,如果表中id(非业务字段)如果有自增长约束),不会影响自增长约束!意味着下次插入数据的时候,id继续自增.
truncate table 表名;会将表中全部记录删除并且同时删除表,而且下一次会自动创建一张一模一样的表,他直接影响自增长约束的值,下一次插入数据的时候,自增长id字段从1开始.
4)查询语句
查询全表 select * (所有字段) from 表名;
作业:
CREATE DATABASE MyEE_2204;-- 创建库
USE MyEE_2204;-- 选择数据库
CREATE TABLE employee(-- 创建表
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(20),
gender VARCHAR(2),
birthday DATE,
email VARCHAR(10),
remark VARCHAR(50)
);
DESC employee;-- 查询表结构
ALTER TABLE employee ADD age INT;-- 增加age列
ALTER TABLE employee MODIFY email VARCHAR(50);-- 修改email列长度
ALTER TABLE employee DROP remark;-- 删除remark字段
SELECT*FROM employee;-- 查询表
ALTER TABLE employee CHANGE NAME username VARCHAR(20);-- 修改name字段名称
INSERT INTO employee (username,gender,birthday,email,age)VALUES ('张三','男','1975-8-21','zhangsan@163.com',47);-- 一条插入
INSERT INTO employee (username,gender,birthday,email,age)VALUES ('李四','女','1999-2-3','lisi@163.com',23),
('王五','女','1998-5-27','wnagwu@163.com',24);-- 多条插入
UPDATE employee SET gender='男' WHERE id=3;-- 根据id修改
DELETE FROM employee WHERE id=2;-- 根据id删除记录