常见关系型数据库
MySQL
Oracle
SQLServer
DB2
SyBase
1.SQL对数据库进行操作
创建数据库
create database db1;
create database db2 character set utf8;
create database db3 character set gbk;
查看所有数据库
show databases;
查看某一个数据库
show create database db1;
修改数据库
alter database 数据库名称 character set 字符集 collate 校对规则;
alter database db2 character set gbk;
删除数据库
drop database 数据库名称;
drop database db1;
切换数据库:
use 数据库名称;
use db1;
查看当前正在使用的数据库:
select database();
2.SQL对数据库表进行操作
创建表
create table 表名称(字段名称 字段类型(长度) 约束,字段名称 字段类型(长度) 约束…);
约束作用:保证数据的完整性
单表约束分类:
主键约束:primary key 主键约束默认就是唯一 非空的
唯一约束:unique
非空约束:not null
创建表
create database web_test ;
use web_test;
create table user(
id int primary key auto_increment,
username varchar(20) unique,
password varchar(20) not null,
age int,
birthday date
);
查看某个数据库下的所有的表
show tables;
查看某个表的结构信息
desc 表名;
删除表
drop table 表名;
修改表:添加列
alter table 表名 add 列名 类型(长度) 约束;
alter table user add sex varchar(10) null;
修改表:修改列类型,长度和约束
alter table 表名 modify 列名 类型(长度) 约束;
alter table user modify sex varchar(12) not null;
修改表:删除列
alter table 表名 drop 列名;
alter table user drop sex;
修改表:修改列名称
alter table 表名 change 旧列名 新列名 类型(长度) 约束;
alter table user change sex xingbie varchar(12) not null;
修改表:修改表名
rename table 表名 to 新的表名;
rename table user to user1;
修改表:修改表的字符集
alter table 表名 character set 字符集;
alter table user character set utf8;
4.SQL对数据库表的记录的操作
语法:
向表中插入某些列:insert into 表名 (列名1,列名2,列名3…) values (值1,值2,值3…)
向表中插入所有列:insert into 表名 values (值1,值2,值3…);
注意事项
1.值的类型与数据库中表列的类型一致。
2.值的顺序与数据库中表列的顺序一致。
3.值的最大长度不能超过列设置最大长度。
4.值的类型是字符串或者是日期类型,使用单引号引起来。
select * from 表名; (查看记录)
添加某几列
insert into user (id,username,password) values (null,'aaa','123');
insert into user(id,username,password)values(001,'zhangsan','123');
添加所有列
insert into user values (null,'bbb','123',23,'1993-09-01');
insert into user values (002,'lisi','456',25,'1994-01-23');
添加中文记录
insert into user values (004,'张三','123',23,'1993-09-01');
语法:
update 表名 set 列名=值,列名=值 [where 条件];
注意事项
1.值的类型与列的类型一致。
2.值的最大长度不能超过列设置的最大长度。
3.字符串类型和日期类型添加单引号。
修改某一列的所有值
update user set password = 'abc';
按条件修改数据
update user set password = 'xyz' where username = 'lisi';
按条件修改多个列
update user set password='123',age=34 where username='aaa';
1.5.3.3 SQL删除表的记录
语法:
delete from 表名 [where 条件];
注意事项
1.删除表的记录,指的是删除表中的一行记录。
2.删除如果没有条件,默认是删除表中的所有记录。
删除某一条记录
delete from user where id = 2;
删除表中的所有记录
delete from user;
删除表中的记录有两种做法:
delete from user;
删除所有记录,属于DML语句,一条记录一条记录删除。事务可以作用在DML语句上的(可以恢复记录)
在删除之前需执行语句start transaction;
恢复方式:rollback;
truncate table user;
删除所有记录,属于DDL语句,将表删除,然后重新创建一个结构一样的表。事务不能控制DDL的(不可恢复)
1.5.3.4 SQL查看表的记录(重点)
语法:select [distinct] *|列名 from 表 [条件];
查询所有学生考试成绩信息
select * from exam;(查询所有记录)
查询所有学生的姓名和英语成绩
select name,english from exam;(查询列)