管理员界面控制mysql
创建数据库
create database 数据库名;
use 数据库名;//创建并使用数据库
create table 表名(
列名1 数据类型 约束;
列名2 数据类型 约束;
列名3 数据类型 约束
) //创建数据表
数据库没有保存
主键约束
- 在创建表时创建逐渐,在字段后面加上 primary key
create table tablename(
id int primary key,
.....
)
- 在穿件表时创建主键,在表穿件的最后来指定主键
create table tablename(
id int,
..........,
primary key( id)
)
- 将编号列,设置为主键约束,保证列的数据唯一性和非空性
primary key auto_increment
让主键列数据,实现自动增长
CREATE DATABASE mybase;
USE mybase;
CREATE TABLE users(
uid INT PRIMARY KEY AUTO_INCREMENT ,
uname VARCHAR(20),
uaddress VARCHAR(200)
);
trunctate 清空表
格式:
truncate 表名;重新创建一张空表
和 delete from 区别
delete 属于 DML语句 truncate属于DDL语句
delete 逐条删除 truncate 创建一张空表
auto-increment 自增
要求:
1.被修饰的字段类型支持自增 一般int
2.被修饰的字段必须是一个key 一般是primary key
格式:
truncate 表名;重新创建一张空表
和 delete from 区别
delete 属于 DML语句 truncate属于DDL语句
delete 逐条删除 truncate 创建一张空表
auto-increment 自增
要求:
1.被修饰的字段类型支持自增 一般int
2.被修饰的字段必须是一个key 一般是primary key
格式:
truncate 表名;重新创建一张空表
和 delete from 区别
delete 属于 DML语句 truncate属于DDL语句
delete 逐条删除 truncate 创建一张空表
auto-increment 自增
要求:
1.被修饰的字段类型支持自增 一般int
2.被修饰的字段必须是一个key 一般是primary key
- 删除主键
alter table 表名 drop primary key;
- 创建分类
CREATE TABLE sort(
sid INT PRIMARY KEY auto_increment, #分类 ID
sname VARCHAR(100) #分类名称
);
- 查看表
show tables;
- 查看表结构
desc 表名
- 删除表
drop table 表名;
- 修改表结构格式
alter table 表名 add 列名 类型(长度) 约束;
例: 修改表添加列
新添加的字段为 varchar(20)
ALTER TABLE sort ADD sdesc VARCHAR(20);
- alter table 表名 modify 列名 类型(长度) 约束;
例:
修改表修改列的类型长度及约束.
为分类表的分类名称字段进行修改,类型varchar(50) 添加约束 not null
ALTER TABLE sort MODIFY sname VARCHAR(50) NOT NULL;
- alter table 表名 drop 列名;
例:修改表删除列.
删除分类表中snamename这列
ALTER TABLE sort DROP snamename;
- rename table 表名 to 新表名;
例:修改表名
为分类表sort 改名成 category
RENAME TABLE sort TO category;
- alter table 表名 character set 字符集;
例:修改表的字符集
为分类表 category 的编码表进行修改,修改成 gbk
ALTER TABLE category CHARACTER SET gbk;
插入表记录
insert into 表 (列名1,列名2,列名3..)values(值1,值2,值3...);向表中插入某些列
insert into 表 values (值1,值2,值3...);向表中插入所以列
- 插入的数据英语字段的数据类型相同。
数据的大小应该在列的长度范围内。
在values中罗列出的数据位置必须与加入列的排列位置对应。
吃了数值类型外,其他的字段类型的值必须使用引号引起。
如果要插入空值,可以不写字段,或者插入null。
对于自动增长的列在操作是,直接插入null值即可。
INSERT INTO sort(sid,sname) VALUES('s001', '电器');
INSERT INTO sort(sid,sname) VALUES('s002', '服饰');
INSERT INTO sort VALUES('s003', '化妆品');
INSERT INTO sort VALUES('s004','书籍');
更新表记录
update 表名 set 字段名=值,字段名=值;
update 表名 set 字段名=值,字段名=值 where 条件;
- 列名的类型与修改的值要一致
修改值的时候不能超过最大长度
值如果是字符串或者日期需要加‘ ’。
例1:
将指定的sname字段中的值 修改成 日用品
UPDATE sort SET sname='日用品';
例2:
将sid为s002的记录中的sname改成 日用品
UPDATE sort SET sname='日用品' WHERE sid='s002';
UPDATE sort SET sname='日用品' WHERE sid='s003';
删除记录
delete from 表名 [where 条件];
或者
truncate table 表名;
- 删除表中所有记录使用delete from 表名; 还是用truncate table 表名;
删除方式:delete 一条一条删除,不清空auto_increment记录数。
truncate 直接将表删除,重新建表,auto_increment将置为零,从新开始。
例:
DELETE FROM sort WHERE sname='日用品';
#表数据清空
DELETE FROM sort;
查询
- 查询指定字段的信息
select 字段1,字段2.....from 表名;
例:
select id,name from zhuangwu;
- 查询表中所有字段
select * from 表名; - distinct 用于去除重复记录
select distinct 字段 from 表名; - 别名查询,使用的as关键字,as可以省略
别名可以给表中的字段,表 设置别名。当查询语句复杂时,使用别名极大程度的简化了
表别名格式:
select * from 表名 as 别名;
列别名格式:
select 字段名 as 别名 from 表名; - 在sql语句的操作里,可以直接对列进行运算
将所有账务的金额+1000进行显示
select pnane,price+10000 from product; - where语句表条件过滤,满足条件操作,不满足不操作,多用于数据的查询与修改。
格式:
select 字段 from 表名 where 条件; - while条件的种类:
比较运算符,逻辑运算符。
例:
1.查询出金额大于1000的信息
SELECT * FROM zhangwu WHERE money >1000;
2.查询出金额在2000-5000之间的账务信息
SELECT * FROM zhangwu WHERE money >=2000 AND money <=5000;
或
SELECT * FROM zhangwu WHERE money BETWEEN 2000 AND 5000;
3.查询出金额是1000或5000或3500的商品信息
SELECT * FROM zhangwu WHERE money =1000 OR money =5000 OR money =3500;
或
SELECT * FROM zhangwu WHERE money IN(1000,5000,3500);
4.查询出账务名称包含”支出”的账务信息。
SELECT * FROM zhangwu WHERE name LIKE "%支出%";
5.查询出账务名称中是无五个字的账务信息
SELECT * FROM gjp_ledger WHERE ldesc LIKE "_____"; -- 五个下划线_
6.查询出账务名称不为null账务信息
SELECT * FROM zhangwu WHERE name IS NOT NULL;
SELECT * FROM zhangwu WHERE NOT (name IS NULL);