数据库之SQL语法

时间:2023-12-14 21:37:56

-- 创建数据库
CREATE DATABASE mytest;

-- 创建表
CREATE TABLE t_user(
-- primary key 定义该列为主键列
-- AUTO_INCREMENT表示该列的值,由DBMS自动生成,为自动增长列(auto_+tab键)。
    id INT PRIMARY KEY AUTO_INCREMENT,

userName VARCHAR(20), -- 姓名
    money FLOAT, -- 工资
    birthday DATE -- 出生日期

)DEFAULT CHARSET=utf8;

--添加索引

CREATE INDEX index_name ON t_user (username);

--删除索引

ALTER TABLE t_user DROP INDEX index_name;

--添加记录

INSERT INTO t_user(username,money,birthday)VALUES('张三',3000,'1992-09-03');

--添加多条记录

INSERT INTO t_user(username,money,birthday)VALUES('张三',3000,'1992-09-03'),('秦叔宝',6666,'1984-06-02'),('罗成',7777,'1985-03-02');

--查询表中所有数据

SELECT*FROM t_user;

--查询所有用户的姓名和生日

SELECT username,birthday FROM t_user;

--删除id为8的记录

DELETE FROM t_user Where id=8;

--删除工资5000以下的记录

DELETE FROM t_user Where money<5000;

--将罗成的工资修改为7000

UPDATE t_user SET money=7000 WHERE username='罗成';

--所有的90后员工工资涨500

UPDATE t_user SET money=money+500 WHERE birthday>='1990-01-01';

--把id为2的人姓名改为李世民

UPDATE t_user SET username='李世民' WHERE id=2;

--删除所有的记录的两种方法(delete会记录目录日志,一位置删除后的数据还可以恢复,但效率低,truncate不会记录日志,删除后的数据不能恢复,但效率高)

DELETE FROM t_user;

TRUNCATE TABLE t_user;

--将id为2的记录,姓名修改为李宗瑞,工资改为4500

UPDATE FROM t_user SET username='李宗瑞',money=4500 WHERE id=2;

--查询工资在3000-6000之间的人

SELECT*FROM t_user WHERE money>=3000 AND money<=6000;

--显示80后的所有成员

SELECT*FROM t_user WHERE BETWEN '1980-01-01'AND'1990-01-01';

--显示第三条到第六条记录

SELECT*FROM t_user LIMIT 2,4;

--将id为3和id为6的员工工资加200

UPDATE t_user SET money=money+200 WHERE id=3 OR id=6;

UPDATE t_user SET money=money+200 WHERE id IN(3,6);

--查询所有姓张的成员

SELECT*FROM t_user WHERE username LIKE '张%';

--查询所有名字中含有张的成员

SELECT*FROM t_user WHERE username LIKE '%张%';

--查询姓名只有两个字而且姓张的

SELECT*FROM t_user WHERE username LIKE'张_';

--按工资排序显示所有成员

SELECT*FROM t_user ORDER BY money DESC;  --默认是asc升序,desc降序

-- 显示所有的记录,查询的列要求显示中文

SELECT id 编号,username 姓名, money 工资,birthday 生日 FROM t_user;

--去除重复的记录

SELECT DISTINCT birthday FROM t_user;

--查询工资为空或不为空的员工

INSERT INTO t_user(username,birthday)VAlUES('乔峰','1998-09-09');

SELECT*FROM t_user WHERE money IS NULL;

SELECT*FROM t_user WHERE money IS NOT NULL;