mysql数据库的操作
数据库操作
1.创建数据库
(1).character set:指定数据库采用的字符集,如果不指定字符集,默认时候是utf8
(2).collate:指定数据库字符集的校对规则 (常用utf8_bin、utf8_general_ci注意默认是utf8_general_ci)
create database mysql01;//默认创建数据库表mysql01
create database mysql01 default character set utf8;//创建指定默认字符集为交的数据库
show character set;//查看可用字符集名称
show collation;//查看可用的排序规则名称
create database student character set utf8 default collate utf8_bin;
//创建指定的默认字符集utf8,排序规则为utf8_bin的数据库(student)
2.查看、删除和修改数据库
(1).使用数据库:use 数据库名称;
(2).修改数据库:使用alter database语句可以修改一个已有的数据库的默认字符集和排序规则。
(3)删除数据库:drop database mysql01;
每次只能删除一个数据库。
show databases;//查看所有数据库
show create databases;//查看数据库属性
use mysql01;//使用数据库
alter database mysql01 character set gbk;
//将指定的utf8的数据库修改为gbk的数据库
alter database student character set gb2312 default collate gb2312_chinese_ci;
//将student数据库的默认字符集修改为gb2312,排序规则修改为gb2312_chinese_ci
drop database mysql01;//删除数据库
Mysql常用数据类型
1.数值类型
int(4个字节) float(单精度 4个字节) double(双精度 8个字节) decimal(M,D)(大小不确定)
decimal(M,D)精度高 可以用于财务和货币 内存和分配不一样
int not null default 0不允许就空默认为0
create table student(id int(5),name varchar(10),age int not null default 20);
//创建一个学生表编号为整型5个字节,名字为 变长字符串类型10个字节,年龄不允许为空默认为20
2.字符串类型
char(定长字符串 0-255) Varchar( 变长字符串0-65535) text(0-2^16-1)
char和varchar的区别:
char:定长字符串在分配数据的存储空间是固定的
varchar:它会根据数据的实际长度动态的改变存储值的长度,所以不能确定字段需要多少字符
就可以使用varchar大大节省了磁盘空间。
3.日期和时间类型
date[日期 年月日] time[时间 时分秒] datetime[年月日 时分秒 YYYY-MM-DD HH:mm:ss]
timestamp[时间戳] year[年]
注意:没有在time类型加冒号,理解为持续的的时间,而不是一个时间段
系统在年份中,将00-69范围内的年份转化为2000-2069
把70-99范围内的年份值转化为1970-1999
4.复合类型
enum 枚举类型
表示:从一个集合选取一个值,犹似一个单选题
比如性别enum(“男”,“女”)
集合中每一个值都是字符串类型的,他们都是都好隔开
set可以预定义的集合中取得任意数量的值
set(“值1”,“值2”…)多项选择器 可以选择多个或者一个 ,set不可以包含两个相同的元素
表操作
1.创建表
create table shop(id int(10),goods_name varchar(10),price double(10));创建表
2.查看表
show tables;
3.查看表结构
desc 表名;
4.查看建表语句
show create table;
5.快速创建一个表结构相同的表
create table 新表名 like 旧表名;
6.删除表
drop table 表名;
7.删除表,如果表结构存在的话
drop table if exits 表名;
修改表结构
8.添加字段
alter table 表名 add [column] 字段名 类型;
9.删除字段
alter table 表名 drop 字段名;
10.修改字段名
alter table 表名 change 旧字段名 新字段名 类型;
11、修改字段类型
alter table 表名 modify 字段 新字段类型;
12.修改表名
rename table 表名 to 新表名;
13.修改表的字符集
alter table 表名 character set 字符集;
增删改查
insert(添加数据)
插入全部数据
insert into 表名 values (值1,值2);
值的顺序一定要与字段对应
insert into user values('张三','30','133324','男');
插入部分数据
insert into 表名 (字段名1,字段名2,字段名3,...)values(值1,值2,值3,...);
insert into user(name,age,modile) values('小艾',20,'243252');
insert into 表名(字段名1,字段名2,字段名3,...)values(值1,值2,值3,...),(值1,值2,值3,...)...;
复制表
目标表必须存在,并且表结构要与源表一致。
insert into 目标表名 select*from 源表名;
update(修改数据)
更新表记录
update 表名 set 字段名1 = 值1, 字段名2 = 值2,......
更新全部记录
update user1 set gender = '男';
更新时加入运算
update user1 set age = age+1;
部分更新:
update 表名 set 字段名1 = 值1,字段名2 = 值2,...where