数据库中的注释符号# 或者--
数据表的类型
表列类型设置
CREATE TABLE [ IF NOT EXISTS ] `表名` (
`字段名1` 列类型 [ 属性 ] [ 索引 ] [注释] ,
`字段名2` 列类型 [ 属性 ] [ 索引 ] [注释] ,
… …
`字段名n` 列类型 [ 属性 ] [ 索引 ] [注释]
) [ 表类型 ] [ 表字符集 ] [注释] ;
设置数据表的类型
CREATE TABLE 表名(
#省略一些代码
) ENGINE = MyISAM
#或
CREATE TABLE 表名(
#省略一些代码
) ENGINE = InnoDB
MySQL的数据表的类型: MyISAM、InnoDB 、HEAP、BOB、CSV等
常见的MyISAM与InnoDB类型
设置数据表字符集
表列类型设置
CREATE TABLE [ IF NOT EXISTS ] `表名` (
`字段名1` 列类型 [ 属性 ] [ 索引 ] [注释] ,
`字段名2` 列类型 [ 属性 ] [ 索引 ] [注释] ,
… …
`字段名n` 列类型 [ 属性 ] [ 索引 ] [注释]
) [ 表类型 ] [ 表字符集 ] [注释] ;
可为数据库、数据表、数据列设定不同的字符集
设定方法
创建时通过命令来设置如
CREATE TABLE 表名(
#省略一些代码
)CHARSET = utf8;
如无设定,则根据MySQL数据库配置文件my.ini (Windows系统)中的参数设定 如:character-set-sever = utf8
修改数据表
修改表(ALTER TABLE)
修改表名 ALTER TABLE 旧表名 RENAME AS 新表名
添加字段 ALTER TABLE 表名 ADD 字段名 列类型 [ 属性 ]
修改字段 ALTER TABLE 表名 MODIFY 字段名 列类型 [ 属性 ] ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列类型 [ 属性 ]
删除字段 ALTER TABLE 表名 DROP 字段名 DROP TABLE [ IF EXISTS ] 表名
IF EXISTS 为可选,判断是否存在该数据表 如删除不存在的数据表会抛出错误
添加数据
INSERT命令
INSERT INTO 表名 [ ( 字段1, 字段2, 字段3, … ) ] VALUES ( '值1', '值2', '值3', …)
字段或值之间用英文逗号隔开
“字段1, 字段2…”该部分可省略,但添加的值务必与表结构数据列顺序相对应,且数量一致
可同时插入多条数据,values 后用英文逗号隔开
修改数据
update命令
UPDATE 表名 SET column_name = value [ , column_name2 = value2, …. ] [ WHERE condition ];
column_name 为要更改的数据列
value 为修改后的数据,可以为变量、具体值、表达式或者嵌套的SELECT结果
condition为筛选条件,如不指定则修改该表的所有列数据
WHERE条件子句
简单理解为 有条件地从表中筛选数据
WHERE中的运算符
删除数据
DELETE命令
DELETE FROM 表名 [ WHERE condition ];
condition为筛选条件,如不指定则删除该表的所有列数据
TRUNCATE命令
用于完全清空表数据,但表结构、索引、约束等不变
TRUNCATE [TABLE] table_name
区别于DELETE命令
相同点: 都能删除数据、不删除表结构,但TRUNCATE 速度更快
不同点: 使用TRUNCATE TABLE重新设置AUTO_INCREMENT计数器 使用TRUNCATE TABLE不会对事务有影响