1、Structured Query Language的缩写,即结构化查询语言 2、关系型数据库的标准语言 3、用于维护管理数据库 包括数据查询、数据更新、访问控制、对象管理等功能
1、DDL语句可用于创建数据库对象,如库、表、索引等 2、使用DDL语句新建库、表示例
格式: create table 表名(字段01名称 字段01类型 字段01约束,字段02名称 字段02类型 字段02约束,…)存储引擎,字符集
字段名称、类型、约束解释: 字段01名称:属性名称,自定义 字段01类型:int(4) 整型 代表0000-9999 double 浮点型 decimal(5,2)有效数字是5位,小数点后面保留2位 100.00;099.50 float 单精度浮点 4字节 char 字符 char (10)固定长度字符串,字符串要用单引号引起来 varchar(50)可变长度字符串 字段01约束: 非空约束:内容不允许为空 not null 主键约束:非空且唯一 标识 primary key(主键) 默认约束:假如没有填数据,默认预先设定的值填写 default ‘未知’ 自增特性:id 1 2 3 4 auto_increment(自动增长) 存储引擎:myisam innodb 字符集:UTF-8
1、删除表
2、删除数据库
DML语句用于对表中的数据进行管理 包括的操作 insert:插入新数据 update:更新原有数据 delete:删除不需要的数据 注意:对数据的操作用DELETE,对库和表用drop
完整格式:insert into info (字段1,字段2) values (字段1的值,字段2的值) 1、加字段 2、不加字段,默认是所有字段,每个字段都要写 3、查看添加的信息
格式:update 表名 set 字段名1=值1,字段名2=值2 where 条件表达式 修改用户密码
格式:delete from 表名 where 条件表达式(不带where代表删除表中所有记录)
1、清空表 delete from info; truncate table info; truncate清空表,表还在;drop是删除表中所有记录。 truncate和delete是两者的新值初始id不同。 2、临时表 临时建立的表,用于保存一些临时数据,不会长期存在
mysql> create temporary table temp_info(id int(4) not null auto_increment, name varchar(32) character set utf8 collate utf8_bin not null, level int(10) not null, primary key(id))engine=innodb default charset=utf8;innodb 支持事务;写在括号外面的是对整张表的设定。 show tables;看不到临时表
3、克隆表 like方法:从info表完整复制结构生成test表
导入数据 新建一个tmp表,读取test表中的所有内容放入tmp表
1、DCL语句设置用户权限(用户不存在时,则新建用户) #设置登录密码为abc123的lisi用户,可以从任意终端登录,对所有库和所有表有全部权限
#设置登录密码为abc123的tom用户,可以从本地终端登录,对mysql库中的user表有select权限
2、查看用户的权限 查看当前用户的权限
查看从本地登录的tom用户的权限 查看当前系统中的用户
3、撤销用户的权限
grant:当用户已存在时,直接提权。 当用户不存在时,先创建用户,再提权。 revoke:只撤销权限,不删除用户