2023.3.10

数据库的基本命令语法

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;//查看可用的排序规则名称

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

2.字符串类型

char(定长字符串 0-255)

Varchar( 变长字符串0-65535)

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

表操作

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 表名 set 字段名1 = 值1, 字段名2 = 值2,......

更新全部记录

update user1 set gender = '男';

更新时加入运算

update user1 set age = age+1;

部分更新:

update 表名 set 字段名1 = 值1,字段名2 = 值2,...where 字段条件
update user1 set sex='女' where name = '张三';

delete(删除数据)

删除记录

delete from 表名; 删除全部记录
delete from 表名 where 字段条件; 按条件删除
delete from user1 where name = '张三';
delete from user1 where age<20;
delte from user1 where age<23 and name = '小天';
delete from user1;  删除表内全部数据

删除全部记录

truncate 表名;

truncate user1;

select(查找数据)

查询语句

select 关键字用来查询取出表中的数据

简单查询:

select *from 表名;取出表中的所有数据

查询指定列:

select 字段名1,字段名2,.... from 表名

查询指定列带别名:

select 字段名1 as 别名 ,字段名2 as 别名,.....

消除重复值:

distinct关键字用来去除重复值 只能写道select后面,一个select只能有一个distinct

distinct 会根据查询字段的数据做组合操作,如果合并后的数据和前面的数据没有冲突,那就显示。

如果有冲突。那就不显示。

distinct并没有去掉表中的重复数据。只是去掉了结果集中的重复数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值