学习MySQL之数据库操作(一)
时间:2021-07-01 10:21:17
帮助过:29人阅读
CREATE DATABASE myTest CHARSET gbk;
##进入数据库 myTest
USE myTest ;
##创建数据库表 t_dept,并将表的字符集设为GBK,同时,char和test字段的字符集,自动变为gbk
CREATE TABLE t_dept (
deptno INT (
11) AUTO_INCREMENT, ##设置自增
dname VARCHAR (
20)
NOT NULL, ##设置
loc VARCHAR (
200),
CONSTRAINT pk_deptno
PRIMARY KEY (deptno), ##设置主键
UNIQUE KEY uk_dname(dname), ##设置唯一索引
FULLTEXT KEY index_loc (loc(
20)) ##设置全文索引
) DEFAULT CHARSET gbk; ##设置字符集
##创建数据库表 t_diary,默认字符集(如果前面不将数据库字符集改为GBK,那么存储中文时会报错)
CREATE TABLE t_diary (
diaryno INT (
11) AUTO_INCREMENT,
tablename VARCHAR (
20),
diarytime DATETIME,
CONSTRAINT pk_diaryno
PRIMARY KEY (diaryno), ##设置主键
INDEX index_tablename (tablename(
20)
ASC) ##设置普通索引
) ;
##查看表 t_dept 的字段,查看表 t_diary 的定义
DESC t_dept;
SHOW CREATE TABLE t_diary;
##将t_diary表与其字段的字符集改为GBK
ALTER TABLE t_diary CHANGE CHARSET gbk;
ALTER TABLE t_diary CHANGE tablename tablename
VARCHAR(
20) CHARSET gbk;
##创建视图 view_dept,取表 t_dept(deptno,dname)字段,并按deptno的降序排列
CREATE VIEW view_dept
AS
SELECT deptno, dname
FROM t_dept
ORDER BY deptno
DESC ;
##查看视图的定义
SHOW CREATE VIEW view_dept;
##创建触发器 tri_diarytime
CREATE TRIGGER tri_diarytime
BEFORE INSERT ON t_dept
FOR EACH ROW
INSERT INTO t_diary (tablename, diarytime)
VALUES (
‘t_dept‘, NOW()) ;
##向表 t_dept 插入测试数据
INSERT INTO t_dept(dname,loc)
VALUES (
‘张三‘,
‘张三会爬树‘);
INSERT INTO t_dept(dname,loc)
VALUES (
‘李四‘,
‘李四会钓鱼‘);
INSERT INTO t_dept(dname,loc)
VALUES (
‘王五‘,
‘王五会开车‘);
INSERT INTO t_dept(dname,loc)
VALUES (
‘赵六‘,
‘赵六会拍马‘);
INSERT INTO t_dept(dname,loc)
VALUES (
‘周七‘,
‘周七会骑驴‘);
INSERT INTO t_dept(dname,loc)
VALUES (
‘武八‘,
‘武八是同城‘);
##查看 t_dept 表的插入结果
SELECT * FROM t_dept;
##查看触发器向 t_diary 表中插入的结果
SELECT * FROM t_diary;
##查看视图 view_dept 中的结果
SELECT * FROM view_dept;
学习MySQL之数据库操作(一)
标签: