建表以及加约束

首先我们建立一个数据库Market

Create database db-name

SQL SERVER赋予库级别执行存储过程的权限_linux

 建立好以后进入数据库,下一步就是建表

在这一步我们提前把主键外键以及各种约束提前想好然后在建表时直接输入

CREATE TABLE 表名(

列名 列类型

列名 列类型

);

(列出几个约束)

  1. PRIMARY KEY           #主键约束,在此表中可对元组进行唯一标识
  2. NOT NULL              #不能为空,输入时必须带值,否则报错
  3. AUTO_INCREMENT      #自增长,可以让属性在不输入的情况下,自动+1
  4. UNIQUE               #唯一约束,该列中不能出现重复

SQL SERVER赋予库级别执行存储过程的权限_数据库_02

 在建表结束后我们来看几个基础的表操作

1.在一个字段后加入新的字段

Alter table r1 add c1 int(4) after c2      #把字段从c1添加到c2后面字段

SQL SERVER赋予库级别执行存储过程的权限_数据库_03

(这里因为我在建表的时候已经写入了contact字段,如果不删除则会导致加入字段失败,所以我提前先把contact删了)

 2.修改字段类型的长度

alter table 表名 modify column 列名 类型(要修改的长度)

SQL SERVER赋予库级别执行存储过程的权限_网络_04

 3.修改字段名称

alter table 表名 CHANGE column 字段名 新字段名 新数据类型   #修改字段名

SQL SERVER赋予库级别执行存储过程的权限_linux_05

 4.加入新的字段

ALTER TABLE <表名> ADD <新字段名><数据类型>[约束条件]

SQL SERVER赋予库级别执行存储过程的权限_mysql_06

 5.修改表名

rename table 旧表名 to 新表名      #修改表名

SQL SERVER赋予库级别执行存储过程的权限_mysql_07

 6.删除字段

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

SQL SERVER赋予库级别执行存储过程的权限_数据库_08

 7.修改存储引擎

alter table mytest ENGINE = MyIsam;    #修改存储引擎

SQL SERVER赋予库级别执行存储过程的权限_linux_09

最后查看表内的字段信息

desc tablename

SQL SERVER赋予库级别执行存储过程的权限_sql_10

 下来我们来设置外键

先建立一个新的数据库和表(代码如上)

在新建表的最后一行加上约束,添加外键,使c_id和c_num关联

foreign key (c_id) references customers_info(c_num));

SQL SERVER赋予库级别执行存储过程的权限_linux_11

 在创立好以后我们可以用(SHOW CREATE TABLE 表名)来查看外键的信息

SQL SERVER赋予库级别执行存储过程的权限_网络_12

 下来我们试着删除外键

alter table 表名 drop foreign key 外键名称;  

SQL SERVER赋予库级别执行存储过程的权限_mysql_13

 最后我们将customers表删除

drop table tbname;

SQL SERVER赋予库级别执行存储过程的权限_mysql_14

用户权限

1.新建一个数据库和表

SQL SERVER赋予库级别执行存储过程的权限_数据库_15

SQL SERVER赋予库级别执行存储过程的权限_sql_16

 2.我们新建一个用户并且把表的select,insert以及info字段的update权限给此用户

Grant select(列名),insert(列名) on 库名.表名 to ‘用户名’@’%’      #分列给出权限

SQL SERVER赋予库级别执行存储过程的权限_sql_17

 (这里并没有新建用户而是直接把权限给这个用户,其实是MySQL的一个特性,8.0之前的版本在使用grant语句时可以直接自行建立用户)

3. 修改密码操作

# mysqladmin -uroot -p'123456' password '123'

[root@node4 ~]# mysqladmin  -uroot -p password

Enter password: 旧密码

New password: 新密码

Confirm new password: 新密码

SQL SERVER赋予库级别执行存储过程的权限_mysql_18

 4.查询用户的权限

show grants;                                            #查看用户权限

SQL SERVER赋予库级别执行存储过程的权限_linux_19

 5.删除用户权限

revoke select,insert,update(info) on Team.player from account1@'localhost';

SQL SERVER赋予库级别执行存储过程的权限_sql_20

 (这里需要进入root用户,不然权限不够(硬生生找了半天的问题,一直报错qwq))

6.删除用户

drop user username

SQL SERVER赋予库级别执行存储过程的权限_数据库_21

这就是数据库的一些基础操作和用户权限管理的基础操作(如果对您有用请点个赞收藏一下,蟹蟹力!)