mysql数据库ddl管理_MySQL数据库操作(一)——DDL、DML、DCL

2ff34e647e2e3cdfd8dca593e17d9b0a.png

MySQL:

启动:net start mysql

停止:net stop mysql

登录:mysql -u root -p 例如:mysql -uroot -p123 -hlocalhost

退出:exit或者quit

DDL操作:

加上if exists或者if not exists:都是如果存在,或者如果不存在,就不做相关操作

查询当前有哪些数据库:show databases;

创建数据库:CREATE DATABASE if not exists 数据库的名字 CHARSET=utf8;例如:CREATE DATABASE if not exists employee CHARSET=utf8;创建一个编码为utf-8的employee数据库。不存在就创建,存在就不管。

删除数据库:DRAP DATABASE if exists 数据库名称;例如:DRAP DATABASE if exists employee;删除employee数据库,如果存在就删除,不存在就不管。

修改数据库编码方式:ALTER DATABASE 数据库名称 CHARACTER SET utf8;

切换数据库:use 数据库名称;

创建表:CREATE TABLE if not exists 表名(列名 列类型,...,列名 列类型);

1

2

3

4

5

6

7

8

9

10

11CREATE TABLE if noe exists t_stu(

stu_num char(11),

stu_name varchar(50),

stu_age int,

stu_sex varchar(10)

);

显示当前数据库包含的表:show tables;

显示当前表结构:desc 表名称;

删除表:drop table 表名称;

新增列:alter table 表名 add(列名 列类型,...,列名 列类型);

1

2

3

4

5

6

7alter table t_stu add(

stu_address varchar(100),

stu_phone char(11)

);

修改列类型:alter table 表名 modify 列名 列新类型;

1alter table t_stu modify stu_address varchar(50);

修改列名:alter table 表名 change 原始列名 新列名 列类型;

1alter table t_stu change stu_address stu_addr varchar(100);

删除列:alter table 表名 drop 列名;

1alter table t_stu drop stu_address;

修改表名:alter table 原始表名 rename to 新表名;

DML操作:

为了好操作,先用一下查询的命令,查询表的所有记录: select * from 表名;

插入一行记录:INSERT INTO 表名 (列名,...,列名)VALUES(列值,...,列值);

1

2

3

4

5

6

7

8

9INSERT INTO t_stu(

stu_num,stu_name,stu_age,stu_sex,stu_phone

)VALUES(

'test_num_001','张三',18,'man','13888888888'

);

修改所有数据:update 表名 set 列名=列值,...,列名=列值;

1update t_stu set name='wangwu';

修改数据(单个条件):update 表名 set 列名=列值,...,列名=列值 where 列名=列值;

1update t_stu set stu_name='zhangsan' where stu_num='testNum_00001';

修改数据(多个条件):update 表名 set 列名=列值,...,列名=列值 where 列名=列值 or 列名=列值;

1

2

3

4

5

6

7

8

9

10//or,或者

update t_stu set stu_age=28 where stu_num='testNum_0001' or stu_name='zhangliu';

//and,并且

update t_stu set stu_age=28 where stu_age>=25 and stu_age<=30;

//between...and...在什么区间内

update t_stu set stu_age=28 where stu_age between 25 and 30;

//in(...)

update t_stu set stu_age=28 where stu_name in ('zhangsan','lisi');

//is null,是null。不能是stu_name=null

update t_stu set stu_age=28 where stu_name is null;

删除记录:DELETE FROM 表名 where ...;

1

2//这里where后面的条件跟前面的update是一样的写法

DELETE FROM t_stu where stu_age = 28;

DCL操作:

创建用户:

1

2

3

4//只要是写用户名的位置都可以设置固定ip,或者不固定ip

CREATE USER [email protected] IDENTIFIED BY '密码';//固定ip登录

CREATE USER 用户名@'%' IDENTIFIED BY '密码';//任意ip登录

CREATE USER zhangSan@'%' IDENTIFIED BY '123';

给用户授权:

1

2

3

4

5

6GRANT 权限1,权限2,...,权限n ON 数据库名称.* TO [email protected];

GRANT 权限1,权限2,...,权限n ON 数据库名称.* TO 用户名@'%';

GRANT CREATE,ALTER,DROP,INSERT,UPDATE,DELETE,SELECT ON school.* TO zhangSan@'%';

//给所有权限

GRANT ALL ON school.* TO zhangSan@'%';

撤销权限:

1REVOKE 权限1,权限2,...,权限n ON 数据库名称.* FROM 用户名@'%';

查看用户权限:

1

删除用户:

你可能感兴趣的:(mysql数据库ddl管理)