初入数据库
2018-11-27 本文已影响11人
火之夜工作室
数据库 :存储数据的仓库
主键:非空且唯一 (not null unique)
数据库管理系统软件(DBMS):Mysql(开源,免费,跨平台) ,oracle, sql server,Access,IBM的db2
数据库系统(DBS)
数据库操作(DDL):
--- 创建数据库
create database [if not exists] db_name [character set xxx]
--- 查看数据库
show databases;(查看所有数据库)
show create database db_name;(查看数据库的创建方式)
--- 修改数据库
alter database db_name [character set xxx]
--- 删除数据库
drop database [if exists] db_name;
--- 使用数据库
切换数据库 use db_name; --注意:进入到某个数据库后没办法再退回之前状态,但可以通过use进行切换
查看当前使用的数据库 select database();
表操作
查看自己创建的数据库里包含的所有的表:
show tables
查看表内容:
desc tab_name 表名
修改一列类型:
alter table tab_name modify 列名 类型【完整性约束条件】【first(把要修改的列名放在表的第一个字段) | after 字段名(把要修改的列名放到指定字段后面)】
alter table user modify age tinyint default 20;
alter table user modify age int after id ;
修改列名
alter table tab_name change [column] 列名 新列名 【完整性约束条件】【first | after 字段名】;
alter table user change age Age int default 28 first;
修改表名
rename table 表名 to 新表名
修改表所有的字符集
alter table student character set utf8;
删除一列
alter table tab_name drop [colunm] 列名;
删除表
drop table tab_name;
添加主键,删除主键
alter table tab_name add primary key (字段名字)
alter table users drop primary key(字段名字);
数据操作
插入数据
insert into tab_name (key, key,key) values
(values, values,values);
插入多条数据
insert into tab_name (key, key,key) values
(values, values,values),
(values, values,values),
(values, values,values);
也可以不写key 但需要一一对应,也可以只写你需要插入的数据的key,values 也是一一对应
set 插入: insert into tab_name set key=value;
insert into test set id=12,name='tt';
修改数据
update tab_name set key=value key=value where [更改依据]
UPDATE 愈发可以用新值更新原有表行中的各列。
set 子句指示要修改哪些列和要给予哪些值。
WHERE子句指定应更新哪些行。如果没有WHERE子句,则更新所有的行。
update tab_name set name='ff' where id = 1;
删除表记录
delete from tab_name [where ...]
如果不跟where语句则删除整张表中华的数据
delete只能用来删除一行记录
delete 语句只能删除表中的内容,不能删除表的本身,想要删除表,用drop
TRUNCATE TABLE 也可以删除表中的所有数据,词语句首先摧毁表,再新建表。此中方式删除的数据不能在事物中恢复
删除表中名称为tt的记录
delete from tab_name where name = 'tt';
删除表中所有的记录
delete from tab_name;
使用truncate 删除表中记录
truncate table tab_name;
查询数据
select [distinct] * [field1,field2...] from tab_name
其中from 指定从哪张表筛选 * 表示查找所有列,也可以指定一列
表明确指定要查找的列,distinct 用来剔除重复行
-- 查询表中所有学生的信息
select * from ExamResult;
-- 查询表中所有学生的姓名和对应的英语成绩
select name,js from ExamResult;
-- 过滤表中重复数据
select distinct JS ,name from ExamResult;