常用的数据类型:
- int : 整型 用于定义整数类型的数据
- float : 单精度浮点4字节32位 准确表示到小数点后六位.
- double :双精度浮点8字节64位
- char :固定长度的字符类型 用于定义字符类型数据
- varchar :可变长度的字符类型
- text : 文本
- image: :图片
SQL语言:
- Structured Query Language的缩写,即结构化查询语言 关系型数据库的标准语言 用于维护管理数据库 包括数据查询、数据更新、访问控制、对象管理等功能
SQL语言分类:
- DDL:数据定义语言:用于创建数据库对象,如库、表、索引等
- DML:数据操纵语言:用于对表中的数据进行管理,用来插入、删除和修改数据库中的数据
- DQL:数据查询语言:用于从数据表中查找符合条件的数据记录
- DCL:数据控制语言 ( alter ):用于设置或者更改数据库用户或角色权限
DDL数据定义语言包括:
-
create 创建
create database 库名; #创建数据库 create database 表名; #创建数据表
- drop 删除
drop database 库名; #删除数据库 drop table 表名; #删除数据表
DML数据操纵语言包括:
- insert 插入数据
方法一:insert into 表名 (字段1、字段2......) values (字段1、字段2....) 方法二:insert into 表名 values(字段1的值、字段2的值.......)
- update 修改
update 表名 set 属性=字段的新值 where 条件表达
DQL数据查询语言:
- select查询,方式有两种
select 字段1,字段2... from 表名 可加条件where(条件表达式); select * from 表名; 查询显示数据的行数 select * from 表名 limit 3; 显示前三行 select * from 表名 limit 3,2; 显示前三行的后两行
DCL:数据控制语言 (alter)
- 修改表名 :
alter table 旧的表名 rename 新表名;
-
修改表的结构:
1、增加表的字段: alter table 表名 add 字段 数据类型; 2、修改表的字段: alter table 表名 change 旧字段 新字段;
数据库表高级操作
-
关于数据库表的一些基础操作,比如:创建表、删除表、表的 查询等等。数据表在数据库的使用过程中右着很言的使用频率,所以本节会进解些关于 表的升级用法,包括清空表、使用临时表和克隆表。
1、清空表
- 清空一个数据表就是删除这个表内的所有数据。前面的小节已经学习过 DELETE FROM 语,可以删除表内的数据,除此之外还可以使用TRUNCATE TABLE 语句实现消空表内记录。DELETE FROM 语可以使用 WHERE 子句对删除的结里生进行过滤洗择,这样更方便、更灵活。TRUNCATE TABLE 语句是删除表中所有记录数据,没法定制,灵活性上稍差。消空表的具体操作
2、临时表
- Mysql的临时表,顾名思义,就是临时建立的表,并不会长期存在,主要用于保存一 些临时教据。临时表有个特性就是只在当前连接可见,当前连接下可执行增刚改查等操作,当连接被关闭后,临时表就会被 MySQL 删除,相关的资源也会被释放。下面创建临时表 mytmp,然后插入数据,之后断开当前连接,最后审新连到 MySQL 查有临时是否还存在
3、克隆表
方法一
create table 新表 like 旧表
#复制格式: 通过like复制旧表名的表结构,生成一个新的表名的结构
insert into 新表名 select * from 旧表名
#备份内容
方法二
create table 新表名(select * from 旧表名)
#复制旧表数据到新表中
数据库用户授权:
格式 :
grant 权限列表 on 数据库.表名 to '用户名'@'来源地址' identified by '密码';
例:
grant all privileges on *.* to 'lisi'@'%' identified by '123456';
#允许用户lisi在所有终端远程连接mysql,并拥有所有权限
flush privileges; #刷新权限
*.* :这里表示所有的数据库(可以指定)
lisi :表示用户
% :表示所有终端 (localhost :表示仅本地)
'123456' :表示密码
验证:
mysql -ulisi -p123456
show databases;
撤销权限:
revoke 权限列表 on 数据库.表名 from '用户名'@'来源地址'
show grant for '用户名'@'来源地址'
数据库用户管理
1、新建用户
create user '用户名'@'来源地址' 设置用户密码 identified by '密码'
密码可以使用加密方式:select password '密码'
2、查询创建的用户信息进行增删改查
mysql创建的用户都是在mysql数据库下面的user表中
-
查询 可以使用 select user
-
删除用户 drop
-
修改用户密码
1. set password = password('密码') 修改的是当前的 2. set password for '用户名' @ 'localhost' = password('密码') 修改其他用户 3. 忘记用户的密码: 修改 my.cnf 配置 跳过密码认证 [mysql] skip-grant-tables