数据库的安装:
配置好编码、环境变量。
文本来源传智javaEE学院
一些定义
SQL structured query language 结构化查询语言
DDL Data definition language 数据定义语言
DML Data Manipulation language 数据操纵语言
DQL Data Query language 数据查询语言
DCL Data Control language 数据控制语言
DDL 库、表类操作
create database db1;#创建数据库db1
create database if not exist db1;#如果不存在db1则创建
create database db2 default character set gbk ;#创建数据库设定默认字符集
create table student (
id int,
name varchar(20),
birthday date
);
#创建一张student表。
create table s1 like student;#创建一张相同结构不同名称的空表
alter database db2 character set utf8;#修改字符集
alter database db2 default character set utf8;#修改默认字符集
alter table student add remark varchar(20);#为数据表student增加新的列remark
alter table student modify remark varchar(30);#修改remark的列为新的数据类型varchar30
alter table student change remark new_remark varchar(10);#修改列名和数据类型
alter table student drop new_remark;#删除student表中的new_remark列
drop database db1;删除数据库db1
drop table s1;#删除数据表s1;
drop table if exists s1;#如果存在删除数据表s1;
use db2;#使用数据库db2
select database();#查看正在使用的数据库
show tables;#查看表
show databases;#查看数据库;
show create table student;#查看创建数据表student的创建SQL语句
输出例如:
CREATE TABLE `student` (
`id` int(11) DEFAULT NULL,
`name` varchar(20) DEFAULT NULL,
`birthday` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
其中的`用于避免关键字冲突。
desc student;#查看表结构
rename table student to std;#修改数据表名
MYSQL的数据类型
DML 数据增删改操作
insert into std (id,name,age) values (1,'12',12);#在数据表中插入数据使用对应
insert into std values (2,'2',33);#插入所有列数据
show variables like 'character%';#查看MYSQL内部的编码设置
set character_set_client=gbk;#修改客户端字符集gbk
set names gbk;#修改客户端,连接,查询结果字符集为gbk
#以上两句在关闭dos会失效
insert into std2 select * from std;#将std中的数据蠕虫复制到std2中
insert into std2(name,age) select name,age from std;#将std部分列数据复制到std2中
update std2 set age=10;#修改列表中age列的所有数据为10
update std2 set age=12 where id=2;#修改列表中id为2的数据中的年龄为12;
update std2 set name='小小',age=88 where id=1;#id为3的数据行中,修改两列数据
delete from std2 where id=1;#带条件删除id为1的数据表中的数据
delete from std2;#不带条件删除,删除所有数据
truncate std3;同上
DQL 数据查询
select * from std;#查询表std所有信息
select name,age from std;#查询两列数据
select name as 姓名,age as 年龄 from std;#使用数据表列的别名进行查询
select st.name as 姓名,age as 年龄 from std as st;#同时使用了表别名查找
select distinct age from std2;#查询指定列结果不出现重复数据
select age+10 from std2;#查询结果参与运算,age+10
select *,(id+age) as 和 from std;#列数据参与运算并显示
select *,(id+age) 和 from std;#列数据参与运算并显示(省略as)
select * from std3 where math>80;#选出math大于80 的学生。
select * from std3 where age!=20;#查询age不等于20的学生。
select * from std3 where age<>20;# 查询age不等于20的学生。
select * from std3 where age=20 and math<80;#多条件查询
select * from std3 where id not in(1,2,3);#查询id不为123的数据
select * from std3 where id between 1 and 4;#查询id为1-4之间的数据。
select * from std3 where name like '马%';#查询马开头的姓名数据
select * from std3 where name like '马_';#查询马开头的两个字的姓名数据
select * from std3 where name like '%德%';#查询有德字的姓名数据