前言
最近在学数据库,听着老师讲半天,也不知所云(有点夸张了哈~~)听半天也听不去,干脆直接照着书敲吧MyQSL还是自学来得实在呀,当然这很适用于我。然后顺便也记录一些常用的命令,和写的实例。
也深知『纸上得来终觉浅,绝知此事要躬行』于是就有了这篇博客
- Tips:常用命令在后面,可以用再目录直接跳转
操作实例
先建一个数据库,我这顺便设置了编码
Create database bookmanager CHARACTER SET utf8 COLLATE utf8_general_ci;
使用这个数据库
use bookmanager
再建几个表
CREATE TABLE book ( bno varchar(10) PRIMARY KEY NOT NULL comment "书号", bname varchar(10) NOT NULL comment "书名", author varchar(10) NOT NULL comment "作者", price float DEFAULT NULL comment "价格", publish varchar(10) DEFAULT NULL comment "出版社", number smallint DEFAULT NULL comment "库存量" ); CREATE TABLE student ( Sno varchar(10) PRIMARY KEY NOT NULL comment "学号", Sname varchar(50) NOT NULL comment "姓名", Ssex char(2) NOT NULL comment "性别", Sbirth datetime DEFAULT NULL comment "出生日期", Sdept char(11) DEFAULT NULL comment "所在系" ); CREATE TABLE borrowstore ( sno varchar(10) NOT NULL comment "学号", bno varchar(10) NOT NULL comment "书号", borrowdate int comment "借书日期", restoredate int comment "还书日期", latedate int comment "还书期限", PRIMARY KEY (sno, bno), FOREIGN KEY (bno) REFERENCES book (bno), FOREIGN KEY (sno) REFERENCES student(Sno) );
插入学生数据
insert into student(Sno,Sname,Ssex,Sbirth,Sdept) values('101','张三','男','19890512','计算机系'), ('102','李四','女','19381105','经管系'), ('103','王五','男','19780708','英语系');
插入图书数据
insert into book(bno ,bname, author, price, publish, number) values('b01','数据库原理','赵岩松','32.5','清华大学出版社', '5'), ('b02','C语言程序设计','刘晨','43','清华大学出版社', '3'), ('b03','大学英语','张楠','23.5','清华大学出版社', '6');
删除某表的一行的数据
delete from book where bno='b03';
MySQL常用命令
DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子句] delete from book where bno='b03';
修改基本表
alter table 表名 [add 新列名 数据类型[列级约数条件] [drop column 列名[restrict|cascade]] [alter column 列名 新数据类型]
更新数据库内容
update test1 set age='21' where id='1'; #只修改一个不用加top update top(数量) 表名 set 列名1=值,列名2=值2 where 条件;
修改编码
修改数据表的编码:全部的列统一修改
ALTER TABLE student CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
下面是更改一列的编码
alter table student change Sname varchar(50) character utf8;
然后通过查看数据表编码
show create table student;
修改数据库的编码
show full fields from 表名;
查看数据表
查看详细表结构、字段类型。
show full fields from 表名;
直接查看
select * from table
查询单个表的信息:
select * from tables where table_schema = "db_name" and table_name = "table_name1";
查询一张表的所有字段信息:
use db_name; show full columns from table_name1; show full columns from table_name2;