文章目录
1.数据库CURD
对数据库进行增(create)、删(delete)、改(update)、查(Retrieve)操作。
1.1创建数据库
创建一个名称为mydb1的数据库。
create database mydb1;
创建一个使用utf-8字符集的mydb2数据库。
create database mydb2 character set utf8;
创建一个使用utf-8字符集,并带校对规则的mydb3数据库。会对存入的数据进行检查。
create database mydb3 character set utf8 collate utf8_general_ci;
1.2查看数据库
显示所有数据库
show databases;
显示创建数据库的语句信息
show create database mydb2;
“ ` ”(ESC键 下面的按键),表示反引号,默认情况下,反引号括起来的字符串,区分大小写。
show create database mydb1;
注意 :mysql默认语言集是latin1,每次在创建数据库的时候应指定字符集。Oracle是在安装时,即指定了字符集。
1.3修改数据库
修改mydb1的字符集为utf8(不能修改数据库名)
alter database mydb1 character set utf8;
1.4删除数据库
删除数据库mydb3
drop database mydb3;
2.表的CURD
对表本身进行操作:创建,查看,修改,删除
MySQL的数据类型
https://blog.csdn.net/weixin_45525272/article/details/107979163
2.1创建表
create table t1 (id int, name varchar(20))
但此时会报错误:ERROR 1046 (3D000): No database selected。注意,在mysql中对表操作前,必须先选择所使用的数据库。
use mydb2;
查看当前选择的数据库中的表:
show tables;
查看表结构:
desc t1;
在Mysql中显示多行数据应该在查询语句结尾处添加 \G来替换结束标记“;”
查看创建表的语法:
show create table t1; ENGINE=InnoDB 默认指定的存储引擎 innoDB。
例如:创建一个员工表:
create table employee(empno int, ename varchar(20), sal int);
后面表的代码以此例为照应
2.2查看表
查看所有的表:
show tables;
查看指定表的创建语句
show create table employee;
注意,mysql表名称区分大小写
显示指定表的结构:
desc employee;
2.3修改表
更改表名: rename table employee to worker;
增加一个字段:alter table employee add column height double;
(column关键字在Oracle中,添加则语法错误)
修改一个字段:alter table employee modify column height float;
修改字段名: alter table employee change column height height1 float;
删除一个字段:alter table employee drop column height1;
修改表的字符集:alter table employee character set gbk;
3.2.4删除表
删除employee表
drop table employee;
(MySQL中不能使用purge,添加会出现语法错误)
3.表数据的CURD
3.1create数据
创建一个员工表,新建employee表并向表中添加一些记录:
create table employee(
id int,
name varchar(20),
sex int,
birthday date,
salary double,
entry_date date,
resume text
);
insert into employee values(1,'张三',1,'1983-04-27',15000,'2012-06-24','一个大牛');
insert into employee(id,name,sex,birthday,salary,entry_date,resume) values(2,'李四',1,'1984-02-22',10000,'2015-07-24','一个中流');
insert into employee(id,name,sex,birthday,salary,entry_date,resume) values(3,'王五',0,'1985-08-28',7000,'2018-08-24','一个小菜');
3.2update数据
将所有员工薪水都增加500元。
update employee set salary=salary+500;
将王五的员工薪水修改为10000元,resume改为也是一个中流
update employee set salary=10000, resume='也是一个中流' where name='王五';
3.3delete数据
删除表中姓名为王五的记录。
delete from employee where name='王五';
【注意from不能省略】
删除表中所有记录。
delete from employee;
使用truncate删除表中记录。
truncate employee;
(无条件 效率高)
3.4Retrieve数据( 检索数据O(∩_∩)O)
检索谁的id>2
select id, name as "名字", salary "月薪", salary*12 年薪 from employee where id >=2;
以上知识综合案例
https://blog.51cto.com/yang/2892045