1.标识符命名规则
数据库名、表名不得超过30个字符,变量名限制为29个
必须只能包含A-Z,a-z,0-9,_共63个字符
数据库名、表名、字段名等对象名中间不能包含空格
同一个MySQL软件中,数据库不能同名;同一个库中,表不能重名;同一个表中,字段不能重名。
字段和保留字、常用方法冲突时,必须使用着重号`
应当保持字段名和类型的一致性。
2、常见的数据类型
通常分为四大类:数值类型、字符类型、日期类型、空间数据类型。
浮点类型 FLOAT、DOUBLE
定点数类型 DECIMAL
日期时间类型 DATE TIME DATETIME
文本字符串类型 VARCHAR
3、数据库的创建与管理
(1)创建数据库
CREATE DATABASE IF NOT EXISTS 数据库名
推荐使用第三种创建方式,防止报错。
不指明字符集的时候,使用默认字符集。指明字符集的时候,使用格式
CREATE DATABASE IF NOT EXISTS 数据库名 CHARACTER SET '指名字符集'
(2)管理数据库
①切换数据库 USE 数据库名;
②查看全部的数据库 SHOW DATABASES
③查看当前使用的数据库 SELECT DATABASE() FROM DUAL;
④查看当前库所有的数据表 SHOW TABLES;
⑤查看指定数据库下的全部数据表 SHOW TABLES FROM 数据库名;
4、数据库的修改与删除
删除数据库 DROP DATABASE IF EXISTS 数据库名;
修改数据库 ALTER DATABASE 数据库名 CHARACTER SET '字符集名';
数据库名不能修改。往往修改字符集。
数据库的删除使用关键字DROP,常用IF EXIST用于减少报错。
5、创建表的两种方式
CREATE TABLE IF NOT EXISTS 表名(字段 数据类型,字段 数据类型)
(1)直接创建
CREATE TABLE IF NOT EXISTS 表名(字段名 数据类型,字段名,数据类型…);
(2)根据已有表的数据进行新表的创建
此时对原有的字段所取别名可以作为新表的列名(字段名)
CREATE TABLE IF NOT EXISTS 表名
AS
SELECT 字段名
FORM 原表名;
6、管理表
查看表的结构:DESC 表名
或者:SHOW CREATE TABLE 表名
(1)修改表:ALTER TABLE 表名
添加一个字段:ADD
ADD 字段名 数据类型(长度);
修改一个字段(数据类型、长度、默认值):MODIFY
重命名一个字段:CHANGE 原字段 新命名字段 数据类型 字段长度
删除一个字段:DROP COLUMN 字段名
(2)重命名表 RENAME TABLE 原表名 TO 新表名
(3)删除表 DROP TABLE IF EXISTS 表名
表的数据与结构都删除
(4)清空表 TRUNCATE TABLE 表名
只删除表的数据,保留表的结构
(5)DCL中COMMIT 和ROLLBACK
COMMIT:提交数据,一旦执行COMMIT 护具永久保存在数据库中,意味着数据不能回滚。
ROLLBACK:回滚数据。一旦执行ROLLBACKA则可以实现数据的回滚,回滚到最近的一次COMMIT之后。
对比DELETE FROM 与TRUNCATE TABLE:
同:只删除数据,保留表结构
异:TRUNCATE TABLE表数据全部清除,不可回滚。
DELETE FORM:可以全部清除表数据,数据可以实现回滚。
DDL和DML的说明:
DDL的操作一旦执行,不可回滚。例如TRUNCATE TABLE
DML的操作一旦执行,默认情况下不可回滚。但如果在执行DML之间,执行了SET autocommit = FALSE;则可以进行回滚