1、常用建表语句
-- 创建一个数据库:CREATE DATABASE 数据库(库名自拟)
-- 创建一张表、创建数据库表和创建一张excel表差不多,在插入数据之前先要创建表的结构,确定表中的字段
-- NOT NULL :这个字段表示再插入数据的时候不能为空
-- AUTO_INCREMENT:如果没有手动插入值,该字段会自增
-- VARCHAR:字符串(括号里面填字符需要的长度)
-- DEFAULT:默认值
-- PRIMARY KEY(字段) 设置该表的主键,唯一的不可重复
-- 以下是我经常用来练习时所创建的表
CREATE TABLE STU(
ID INT NOT NULL AUTO_INCREMENT,
NAME VARCHAR(20),
AGE INT NOT NULL DEFAULT 0,
SCORE INT NOT NULL DEFAULT0,
PRIMARY KEY(ID)
);
2、增删改查执行代码,当然,数据库代码尽量使用大写,比较美观,标点符号也不能使用中文
-- 查看表结构
DESC STU;
-- 查看所有的DATABASE
SHOW DATABASE;
-- 查看当前DATABASE下的所有TABLE
SHOW TABLES;
插入数据 INSERT
-- INSERT IN TO 表名(字段1,字段2...)VALUES(数值1,数值2...);
-- INSERT IN TO STU (ID,NAME,AGE)VALUES("ZHANGSAN",23,100);
-- 字段可以选择性的填充(非空的要小心)
INSERT IN TO STU(NAME)VALUES("LISI");
-- ID在自增,其他字段可以不插入
INSERT IN TO STU()VALUES();
-- ALTER对表的结构进行修改
-- 为表添加一个新的字段 ALTER TABLE 表名 ADD COLUMN 列名 数据类型;
ALTER TABLE STU ADD COLUMN ADDRESS VARCHAR(20);
ALTER TABLE STU ADD COLUMN GENDER VARCHAR(20);
查询数据 SELECT
-- 查询所有字段*项目中不是很推介 因为代码阅读性很差
SELECT * FROM STU;
-- 查询的字段可以列举出来
SELECT ID,NAME,AGE FROM STU;
-- 查询的时候可以选择自己查询所需要的字段
SELECT NAME FROM STU;
-- 可以在查询的时候给字段取一个别名 AS可以省略(后面如果有语句对这个字段进行操作的话,必须使用别名)
SELECT NAME AS 姓名 FROM STU;
-- WHERE的使用:条件选择
SELECT * FROM STU WHERE AGE>30;
-- OR(或者)和AND(并且)的使用
SELECT * FROM STU WHERE SCORE >=33 AND SCORE<=100;
SELECT * FROM STU WHERE AGE>23 OR SCORE >=33;
-- BETWEEN:也是查询的一个范围,BETWEEN是包含min和max的
SELECT * FROM STU WHERE SCORE BETWEEN 33 AND 100;
-- ORDER BY 字段 :根据某个列进行排序
SELECT * FROM STU ORDER BY AGE;-- 默认是升序的
SELECT * FROM STU ORDER BY AGE DESC;-- 降序
-- ORDER BY 可以根据多个字段进行比较,比如先比年龄再比成绩
SELECT * FROM STU ORDER BY AGE,SCORE DESC;
-- LIMIT:截取指定行数数据
SELECT * FROM STU LIMIT 3 -- 从索引0号的行数开始截取3行
-- 也可以截取从哪一行到哪一行的数据
SELECT * FROM STU LIMIT 2,3;
-- LIKE:模糊查询
SELECT * FROM STU WHERE NAME LIKE "张%"; -- 张开头的人名
SELECT * FROM STU WHERE NAME LIKE "%张"; -- 张结尾的人名
SELECT * FROM STU WHERE NAME LIKE "%张%"; -- 只要名字中带有张的人都符合要求
SELECT * FROM STU WHERE NAME LIKE "张_"; -- 张开头的后面跟一个字符的名字
删除数据
-- DELETE:删除数据,可以删除多条数据
DELETE FROM STU WHERE AGE > 40;
-- 对已有的表结构进行改动
-- 删库
DROP DATABASE PRO;
-- 删表
DROP TABLE STU;
-- 删除一列字段
ALTER TABLE STU DROP COLUMN ADDRESS;
修改数据
-- UPDATE:更新数据:可以更新多行数据也可以修改多个字段
UPDATE STU SET NAME = "XXXXXXX" WHERE ID = 3;
UPDATE STU SET NAME = "a",AGE = 100 WHERE ID = 3;
-- ALTER对表的结构进行修改
-- 为表添加一个新的字段 ALTER TABLE 表名 ADD COLUMN 列名 数据类型;
ALTER TABLE STU ADD COLUMN ADDRESS VARCHAR(20);
ALTER TABLE STU ADD COLUMN GENDER VARCHAR(20);
-- 修改表名
RENAME TABLE STU TO STUDENT;
-- 修改字段(不能只修改名字)
-- 1.CHANGE:ALTER TABLE 表名 旧字段名 新字段名 新字段数据类型
ALTER TABLE STUDENT CHANGE GENDER SEX VARCHAR(20);
-- 2.MODIFY:只修改字段的数据类型 ALTER TABLE 表名 字段名 新的数据类型
ALTER TABLE STUDENT MODIFY SEX INT; -- 修改字段数据类型的时候如果原来这一列有值的话,小心数据类型转换异常
-- 还可以给表字段加上一些约束,非空约束,主外键约束,多表联动的约束