1.创建数据库和表(DDL)
create database xjj;
use xjj;
create table tiantian();
create table 表名(字段01名称 字段01类型 字段01约束,字段02名称 字段02类型 字段02约束,…)存储引擎,字符集
例:create table chuizi (id int not null,name char(10) not null,sex char(1),primary key (id));
2.管理数据表中的数据
①insert 插入数据
insert into 表名 (字段1,字段2) values (字段1的值,字段2的值)
或insert into 表名 values (所有字段的值)
②select 查询数据记录
SELECT 字段名1,字段名2[,...] FROM 表名 [WHERE 条件表达式];
select * from 表名;
select name,sex from 表名 where id=1;
select * from puxin_club limit 2;
select * from puxin_club limit 2,3;
③updata 修改、更新数据表中的数据记录
UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] [WHERE 条件表达式];
update puxin_club set id=4 where name='tiantian';
select * from puxin_club;
④delete删除(对数据操作用delete,对库和表用drop)
delete from 表名 where 条件表达式(不带where代表删除表中所有记录)
select * puxin_club;
3.修改表名和表结构
①修改表名
ALTER TABLE 旧表名 RENAME 新表名;
例:
alter table puxin_club rename xjj;
show tables;
select * from xjj;
②扩展表结构(增加字段)
ALTER TABLE 表名 ADD address varchar(50) default '地址不详';
例:
alter table xjj add address varchar(50) default '地址不详';
③修改字段(列)名,添加唯一键
ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型 [unique key];
例:
alter table xcf change hobby age varchar(20) unique key;
select * from xcf;
insert into xcf (id,name,age,address) values (5,'tiantian','2','shi');
select * from xcf;
④删除字段
ALTER TABLE 表名 DROP 字段名;
例:
alter table xcf drop address;
4.数据库高级操作
①清空表
delete from xxx;
truncate table xxx;
truncate清空表,表还在;drop是删除表中所有记录
truncate和delete是两者的新值初始id不同
②临时表
临时建立的表,用于保存一些临时数据,不会长期存在
create temporary table xxx(...)engine=innodb default charset=utf8;
innodb 支持事务;写在括号外面的是对整张表的设定。
show tables;看不到临时表
③克隆表
like方法:从aaa表完整复制结构生成hhh表
create table hhh like aaa;
导入数据:insert into hhh select * from aaa;
5.数据库用户授权
①设置登录密码为abc123的lisi用户,可以从任意终端登录,对所有库和所有表有全部权限
create user 'lisi'@'%' identified by 'abc123';
grant all on *.* to 'lisi'@'%' identified by 'abc123';
②设置登录密码为abc123的tom用户,可以从本地终端登录,对mysql库中的user表有select权限
create user 'tom'@'localhost' identified by 'abc123';
grant select on mysql.user to 'tom'@'abc123' identified by 'abc123';
③查看当前用户的权限:show grants;
查看当前系统中的用户:select user from mysql.user;
查看从本地登录的tom用户的权限:
show grants for 'tom'@'localhost';
④撤销用户的权限
revoke select on mysql.user from 'tom'@'localhost';
|