mysql数据库常用语句

来源:互联网 发布:陕西南路美食知乎 编辑:程序博客网 时间:2024/05/22 05:23

window cmd :进入数据库

mysql -u root -p

插入数据设置客户端的字符集为gbk

set character_set_client=gbk;

设置结果集的字符集为gbk

set character_set_results=gbk ;

修改数据库mydb1的字符集为utf8

alter database mydb1 character set utf8 ;

创建数据库mydb1,字符集用gbk

create database mydb1 character set gbk ;


创建数据库

create database mydb ;

查看创建数据库的语句

show create database mydb ;

删除数据库

drop database mydb ;

查看所有的数据库

show databases ;

改变(使用)当前的数据库

use mydb ;

针对表的操作创建表t

create table t(
id int ,
name varchar(30)
) ;

查看创建表的源码

show create table t ;

创建表t1,使用字符集gbk

create table t1(
id int ,
name varchar(30)
)character set gbk ;

表约束

constraint sid_FK foreign key(sid) references stu(id);

insert into t4(id,name) values(1,’张无忌’) ;

修改多个字段

update t4 set id=6,name=’萧峰’ where id = 2 ;

删除

delete from t4 where id = 4 ;

删除所有的记录

delete from t4 ;

给表t4增加一个字段address

alter table t4 add address varchar(100) ;

删除字段address

alter table t4 drop column address ;

更改字段名

alter table stu change column sex gender varchar(2);

查看表的结构

desc t4 ;

查看数据库中所有表

show tables;

了解

查看数据库中所有的校对规则

show collation ;

查看中文的校验规则

show collation like ‘%gb%’ ;

创建数据库mydb2,字符集用gbk,校验规则用gbk_bin

create database mydb2 character set gbk collate gbk_bin ;

删除所有的记录

truncate table t4 ;//一次性删除,不是一条条删

时间函数:

select now() ;

模糊查询

select * from 表名 where 字段名 like 字段表达式
% 表示任意字符数
_ 表示任意的一个字符
[] 表示在某个区间

查询所有以张开头的人

select * from stu where name like ‘张%’ ;

查询姓名中含有张这个字的人

select * from stu where name like ‘%张%’ ;

查询姓名中含有张这个字的人并且姓名的长度是3个字的人

select * from stu where name like ‘张’ or name like ‘’ or name like ‘张’ ;

创建引用约束

alter table score add constraint stu_score_FK foreign key(sid) references stu(id) ;

删除约束

alter table score drop foreign key stu_score_FK ;

引用约束

注意: 1. 添加记录时必须先添加主表中的记录,再添加子表中的记录
2. 不能更改主表中具有外键约束的记录的主键
3. 删除记录的时候不允许删除具有外键关系的主表中的记录(删除的顺序应当是先删除子表中的记录,然后删除主表中的记录)

数据备份

mysqldump -u root -psorry test>test.sql (不登陆数据库,直接在cmd中操作,后面没有;)

数据恢复(前提:创建数据库并选择该数据库)

source test.sql

创建一个学生表

create table stu
(
id int primary key, ##主键约束
name varchar(30) unique, ##唯一约束
sex char(2) not null, ##非空约束
age int check (age > 0 and age < 100), ##检查约束
address varchar(50) default ‘北京’ ##默认约束
) ;

insert into stu values(1,’张无忌’,’男’,20,’北京’) ;
insert into stu values(2,’小龙女’,’女’,18,’古墓’) ;
insert into stu values(3,’黄蓉’,’女’,15,’桃花岛’) ;
insert into stu values(4,’韦小宝’,’男’,24,’扬州’) ;
insert into stu values(5,’乔峰’,’男’,34,’雁门关’) ;
insert into stu values(6,’张果老’,’男’,30,’雁门关’) ;
insert into stu values(7,’老张’,’男’,38,’黒木崖’) ;
insert into stu values(8,’张’,’男’,34,’桃花岛’) ;
insert into stu values(9,’韦小宝’,’女’,24,’新东方’) ;
insert into stu(id,name,sex,age) values(10,’令狐冲’,’男’,27) ;

创建新表分数表

create table score
(
id int primary key,
sid int ,
china int,
english int ,
history int,
constraint sid_FK foreign key(sid) references stu(id)
) ;
constraint sid_FK foreign key(sid) references stu(id);
insert into score values(1,1,68,54,81) ;
insert into score values(2,3,89,98,90) ;
insert into score values(3,4,25,60,38) ;
insert into score values(4,6,70,75,59) ;
insert into score values(5,8,60,65,80) ;

查询表中有几种性别

select distinct sex from stu ;

查找姓名和性别整体都不同的记录

select distinct name,sex from stu ;

limit 从0开始

0 0
原创粉丝点击