1

作者: 聪明的小一休 | 来源:发表于2019-08-21 14:13 被阅读0次

DELETE from student WHERE id=6 ;
-- 创建用户
create user wcj identified by '123';
-- 赋予权限
grant all privileges on *.* to wcj;
flush PRIVILEGES;

-- 删除用户
drop user wcj;

-- 修改用户名
rename user xx to wcj;

-- 修改密码
alter user xx identified by '456' -- 版本不支持
set password for xx = '456'

grant all privileges on *.* to wcj identified by '456';
-- 收回权限
revoke all privileges ,grant option from wcj
select @@version
-- 查看权限
show grants for wcj

创建数据库的sql语句
create database xxx(xxx是要创建的数据库的名字,xxx不能是使用已有的数据库名和关键字)

删除数据库的sql语句
drop database xxx(xxx是要删除的数据库的名字,xxx应该是存在的数据库)

数据类型:
整数类型:int(4)表示整数类型最大位数有四位
浮点数类型:float 表示浮点数类型
文本类型:char(10)表示可容纳10个文字的固定文本,如果不足10个文本,会用空格补齐
varchar(10)表示可容纳10个文本的变长文本,不足10个文本,也不会使用空格补齐
时间类型:date 存储的是日期(年-月-日)生日
time 存储的是时间(时:分:秒) 比赛记录
datetime 存储的日期+时间(年-月-日 时:分:秒) 审批时间 注册时间

一、表的操作:
1.创建表
注意:表名不能有关键字和已有的表名

语法
create table 表名(
列1名 列1的数据类型,
列2名 列2的数据类型,
...
列n名 列n的数据类型
);
注:列名在同一个表中不可重复,在不同表中可以重名。
命名规范:常见驼峰式命名
约束:mysql 有4个
含义:对表中录入的数据进行一定的约束,使数据更加准确。
(1)主键约束:关键字:primary key
规则:主键约束的列中的数据,作为某条数据的代表,其具有唯一代表性,且不能为空。一张表中只能允许最多有一个主键约束。
规范:主键约束的列中的数据应该是无现实意义的。
有意义的数据作为主键,可能存在修改风险(比如一代身份证更换为二代 15位->18位),系统中很多关联数据都要更新
使用无意义的数据作为主键,没有这样的风险。

联合主键:一张表同时有多个列作为主键出现,被称为联合主键,两个列的值的组合作为主键出现。

以下哪些说法是正确的?
A.一张表最多只能有一个主键 OK
B.一张表中最多只能有一个列是主键 NG
C.一张表中可以有多个主键 NG
D.一张表中可以有多个列是主键 OK
总结起来:主键最多有一个,但可以是多个列。

创建主键:
(a)直接在建表时,在对应的主键列上通过primary key声明主键
create table student(
stuid int(8) primary key,
sname varchar(32),
birthday date
);
(b)在建表语句的结尾处指定主键列(可以指定联合主键,指定了stuid和sname为联合主键)

create table student(
stuid int(8),
sname varchar(32),
birthday date,
primary key(stuid, sname)
);

(c)在建表语句的结尾处以命名的方式指定主键列(可以指定联合主键,为约束本身起名字,管理和维护约束本身)
create table student(
stuid int(8),
sname varchar(32),
birthday date,
constraint pk_student primary key(stuid)
);

建表后追加主键
alter table student add primary key(stuid);

建表后移除主键
alter table student drop primary key;
(2)外键约束 关键字:Foreign key
出现在两张表中,一个表中的某个列的数据引用了另一张表的主键或者唯一约束。
外键能够填写的数据:另一个表中的主键的数据和空值

create table student(
stuid int(8) primary key,
sname varchar(32),
birthday date,
majorid int(8),
foreign key(majorid) references majors(majorid)
);

student表中majorid列的数据依赖于majors表中majorid列,必须其中有的数据

alter table student add foreign key(majorid) references majors(majorid)

(3)唯一约束 unique
约束数据在表中是唯一的,不可重复
与主键比较
a.一张表中最多只能有一个主键,可以有任意多个唯一约束
b.唯一约束修饰列中允许出现空值

笔试题: 主键约束与唯一约束的区别?

create table student(
sno int(8) primary key,
sname varchar(32) unique,
);

create table student(
sno int(8),
sname varchar(32),
primary key(sno),
unique(sname)
);
(4)非空约束
非空约束约束的列不允许出现空值,必须给出数据
create table student(
sno INT(8) primary key,
sname VARCHAR(32) unique not null
);

Oracle中5个
主键约束
外键约束
唯一约束
非空约束
(5)检查约束(自定义约束)check(xxx>0)
check(xxx between 0 and 2000)

and - &&
or - ||
not - !
自增:一张表中允许至多一个列进行自增,数据从1开始,每次自增1
2.删除表
语法:DROP TABLE 数据库名.表名; 选中数据库时:DROP TABLE 表名;
删除表:将整张表都删除掉,不保留表(结构)本身。

3.截断表
语法:TRUNCATE TABLE 数据库名.表名; 选中数据库时:TRUNCATE TABLE 表名;
截断表:删除表中的数据,保留表(结构)本身。

笔试/面试:delete,drop和truncate的区别? 删除表和截断表的区别?

4.重命名表
ALTER TABLE 旧表名 RENAME 新表名

5.改变表

(1)新增一个列
ALTER TABLE 表名 add column 新列名 数据类型;

ALTER TABLE majors ADD COLUMN snum INT(4);

(2)修改列名/修改列的数据类型
ALTER TABLE 表名 CHANGE 旧列名 新列名 新数据类型;

旧列中已有数据情况下,可能无法修改类型

(3)删除一个列
ALTER TABLE 表名 DROP COLUMN 列名

相关文章

  • 1▪1▪1▪1▪1

    今天是国际劳动节,出门看人头,上路遇堵车,处处挤破头,急哭也停不下车。 不如歇了吧 ...

  • 1+1+1…+1=1

    对“一”的理解: 赠人玫瑰,不仅仅是手留余香。 利益他人,实际上也疗愈了自己。 利他、利己,如此往复循环, 最终利...

  • (-1)×(-1)= 1

    数学家经过很长一段时间才认识到(-1)×(-1)= 1是不能被证明的(即使大数学家欧拉曾给出不能令人信服的...

  • 1-2-1-1-1

    【下马请罪】 子龙下马,向张飞跪地请罪道:“张将军,一时失手……”话未停,便被张飞一矛刺了个透心凉。子龙堵着胸口汩...

  • 1 1:1 1(原创小说)

    闪回:那天她…… 当时,我确实听到了那个声音,可如今却怎么也记不清了。 掉下来了。 我觉得,那一刻...

  • 《1+1=1-1》

    十一月十一日晚,致X小姐。 十月初九, 一个人购物的孤独, 你谈起, 月光下轧过的马路, 金钱带不来满足, 忙忙碌...

  • 1+1=-1

    结婚育子这几年,在磕磕碰碰中一路走来,才恍然大悟,自己真正的成长,始于育儿。 婚前是父母的公主,虽说家境贫困,却得...

  • 1+1<1

    也许有人看到我的标题就会来质疑我,说我怎么连最简单的数学都不会。1+1=2>1啊,这么简单的算数题,我怎会不知?但...

  • 1+1=-1

    看到他人发表文章,我也有点手痒痒了~这是接着上回文章的下半部分,有点长,没人看到就好了︿︿ 这个第二件小事的主题就...

  • 1⃣️0⃣️1⃣️1⃣️

    昨晚下了雨,早上雾蒙蒙。如画的烟雨曲江我们无暇欣赏,今天小伙伴都去了商场收资源,所以比较集中,真正起到了轰炸效果,...

网友评论

      本文标题:1

      本文链接:https://www.haomeiwen.com/subject/wtmbsctx.html