1. 增
-
创建表:
create table 表名(
列名1 列的类型 [约束],
列名2 列的类型 [约束],
。。。
列名N 列的类型 [约束]
)
注意:最后一行没有逗号例子:create table Students(
name varchar(10),
age int,
ID varchar(10)
) -
创建索引:
create index <索引名> on <表名|视图>(<列名清单>)
列名清单——指定ASC升序或DESC降序,如不指定默认为升序
create index IX_Emp on Employee(Mno,Eno DESC); -
表中增加记录
insert into <表名> values (<常量清单>)
INSERT INTO 表名(列名1,列名2 …)VALUE (列值1,列值2…);注意:列名与列值的类型、个数、顺序要一一对应且值不要超出列定义的长度。。
insert into Students values (‘张三’,‘18’,‘1001’)
insert into Students (name,age,ID) values (‘张三’,‘18’,‘1001’) -
添加一列
ALTER TABLE 表名 ADD 列名 数据类型;
例子:ALTER TABLE Students ADD sex varchar(10); //添加一列性别
2. 删
-
删除表
drop table 表名
(drop可以一次删除多个表,表名之间用逗号隔开)DELETE FROM 表名 【WHERE 列名=值】
TRUNCATE TABLE 表名;DELETED 与TRUNCATE的区别:
DELETE 删除表中的数据,表结构还在;删除后的数据可以找回
TRUNCATE 删除是把表直接DROP掉,然后再创建一个同样的新表。删除的数据不能找回。执行速度比DELETE快。 -
删除一列
ALTER TABLE 表名 DROP 字段名; -
删除索引
DROP INDEX 索引名 on 表名
3. 查
-
查看表的字段信息
DESC 表名 -
查看表的创建细节
SHOW CREATE TABLE 表名; -
查询所有列
SELECT * FROM 表名;
SELECT *FROM Students ORDER BY age ASC;(按年龄升序排序) -
查询指定列的数据
SELECT 列名1,列表2… FROM 表名; -
条件查询
SELECT 列名1,列表2… FROM 表名 WHERE 条件; -
模糊查询
通配符 1、_:任意一个字符 2、%:任意0~n个字符
例子:
查询姓名由5个字母构成的学生记录
SELECT * FROM students WHERE name LIKE ‘_____’;(五个_表示五个任意字母)
查询姓名由5个字母构成,并且第5个字母为“s”的学生记录
SELECT * FROM students WHERE name LIKE ‘____s’; (四个_第五个字母为s)
查询姓名以“m”开头的学生记录
SELECT * FROM students WHERE name LIKE ‘m%’;(其中%表示匹配0~n个任意字母)
查询姓名中第2个字母为“u”的学生记录
SELECT * FROM students WHERE name LIKE ‘_u%’;
查询姓名中包含“s”字母的学生记录
SELECT * FROM stu WHERE name LIKE ‘%s%’; -
去除重复记录
SELECT DISTINCT name FROM students;
4. 改
-
修改一个表的字段类型
ALTER TABLE 表名 MODIFY 字段名 数据类型; -
修改表名
RENAME TABLE 原始表名 TO 要修改的表名; -
修改表的列名
ALTER TABLE 表名 CHANGE 原始列名 新列名 数据类型; -
修改表的字符集为gbk
ALTER TABLE 表名 CHARACTER SET 字符集名称; -
更新操作
UPDATE 表名 SET 列名1=列值1,列名2=列值2 。。。 WHERE 列名=值 -
修改数据库密码