MySQL--基础命令整理(上)

文章目录

    • 1.创建数据库和表(DDL)
    • 2.管理数据表中的数据
    • 3.修改表名和表结构
    • 4.数据库高级操作
    • 5.数据库用户授权

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;     #只显示头2行
select * from puxin_club limit 2,3;   #显示第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 '地址不详';
#default ‘地址不详’:表示此字段设置默认值 地址不详;可与 NOT NULL 配合使用

例:
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';

你可能感兴趣的:(MySQL数据库,mysql,数据库,sql)