SQL语句的作用
改变数据库的结构
更改系统的安全设置
增加用户对数据库或表的许可权限
在数据库中检索需要的信息
对数据库的信息进行更新
SQL语句的分类
DDL:数据库模式定义语言,关键字:create
DML:数据操纵语言,关键字:Insert、delete、update
DCL:数据库控制语言 ,关键字:grant、remove
DQL:数据库查询语言,关键字:select
SQL书写规范
在数据库系统中,SQL语句不区分大小写(建议用大写) 。
但字符串常量区分大小写。
SQL语句可单行或多行书写,以“;”结尾。
关键词不能跨多行或简写。
用空格和缩进来提高语句的可读性。
子句通常位于独立行,便于编辑,提高可读性。
SELECT * FROM tb_table
注释:
SQL标准:
/**/。多行注释
“–” 单行注释
MySql注释:
“#”
show databases;(SHOW DATABASES)
列出在MySql服务器主机上的数据库。
creat database 数据库名; (SHOW DATABASE)
创建数据库。
drop database 数据库名;(DROP DATABASE)
删除数据库。
use 数据库名;(USE)
把指定数据库作为默认(当前)数据库使用,用于后续语句。
数据库对象
对象名称 | 描述 |
---|---|
表 | 基本的数据存储对象,以行和列的形式存在;列就就是字段,行就是记录 |
约束 | 执行数据校验,保证了数据的完整性 |
索引 | 用于提高查询的性能 |
视图 | 一个表或多个表数据的逻辑显示 |
数据字典 | 系统表,存放数据库相关信息的表 |
数据库对象的命名规则
必须以字母开头
可包括数字和三个特殊字符(# _ $)
不要使用MySQL的保留字
同一Schema下的对象不能同名
show (SHOW)
显示当前数据库中已有的数据表的信息
describe|desc(DESCRIBE|DESC)
desc 表名,列名;
查看数据表中各列的信息
创建数据库表
CREATE TABLE 表名(
列名 列类型,
列名 列类型
);
用ALTER TABLE语句修改表的结构
- 修改列类型
ALTER TABLE 表名 MODIFY 列名 列类型; - 增加列
ALTER TABLE 表名 ADD 列名 列类型; - 删除列
ALTER TABLE 表名 DROP 列名; - 列改名
ALTER TABLE 表名 CHANGE 旧列名 新列名 列类型; - 更改表名
ALTER TABLE 表名 RENAME 新表名;
RENAME TABLE 表名 TO 新表名;
在表中增加字段
使用ADD 子句增加字段,新的字段只能被加到整个表的最后
–ALTER TABLE employees
–ADD (gender CHAR(1));
修改字段
可修改列的数据类型,大小和默认值
–ALTER TABLEemployees
–MODIFY(age number(1));
不是任何情况都可以修改的,当字段只包含空值时,类型、大小都可以修改,否则修改可能不能成功
修改默认值,只会对以后的插入有作用,对以前已经存在的数据不会有影响
删除字段
可以从表中删除列:
–ALTER TABLE employees
–DROP COLUMN sex;
从每行中删除掉字段占据的长度和数据,释放在数据块中占用的空间.
删除大表中的字段将需要比较长的时间,因为还需要回收空间
更改表名
rename table … to …
支持一次重命名多个表。
约束
约束是在表上强制执行的数据校验规则.
约束主要用于保证数据库的完整性。
当表中数据有相互依赖性时,可以保护相关的数据不被删除.
大部分数据库支持下面五类完整性约束:
NOT NULL非空
UNIQUE Key唯一键
PRIMARY KEY主键
FOREIGN KEY外键
CHECK检查