您的位置:首页 > 数据库 > MySQL

MySQL 语句命令的使用

2011-11-07 19:27 736 查看
MySQL 语句命令的使用
数据库的创建:create database 数据库名;不区分大小写,与所用的系统有关,文件夹不分,一般情况下,在创建数据库的时候,加上if not exists ,
createdatabase if not exists Car;

显示当前数据库:show database;

设置字符集和校对规则:create database if not exists 数据库名
character set 字符集名
collate 校对规则
例子:create database if not exists xsm;
character set utf8;
collate utf8_general_ci;

显示服务器上所支持的字符集和校对规则:
show character set;显示的是服务器上所支持的字符集和默认的校对规则
show collation like 'gb2312';凡是显示指定字符集的都显示出来

显示指定库的字符编码:
show create database 数据库名;

注:如果系统的字符编码和数据库的字符编码不一样,则会出现乱码。所以,在设置字符的同时,要把字符编码集设好:
set character_set_client='gbk'; 修改字符编码集,默认的编码是gbk,但数据库结束 是utf8,会造成乱码
set character_set_results='gbk'; 返回的时候也是utf8,索引修改为gbk

数据库的修改: alter 修改
数据库修改的是参数,不能修改数据库的名字
alter database xsxxm;
default character set Latin1;//修改字符集为默认

alter database xsxxm;
character set Latin1;
collate Latin1_swedish_ci;

数据库的删除: drop 删除
drop database xsxxg;
drop database if exists xsxxg;//判断在存在的情况下删除 不会出错

在数据库中创建表:
创建表之前要启动数据库,即开启数据库---------- use 数据库名
显示当前数据库的表格:show tables;
show tables from 数据库名; 是显示指定数据库中的表结构
show create table 表名; 是显示创建表的属性
创建表:
create table[ifnot exists] 表名(列名类型 选项,列名 类型 选项,列名 类型 选项); 建表

create table xs(id int,name char(10),sex bool,agetinyint,score int);
选项是指:
(1) not null null(默认的为空)
(2) default 默认值
(3) primary key 指定某一列是否为主键 主键的列一定不为空,可把not null去掉
(4) unique key 唯一性,与主键的唯一区别是可以为空
类型有:
date ‘1990-01-09’
char int byte(sex)
varchar 可变的字符
例子:
char(3);类型为字符类型的,是定长的,多舍,少加空格
varchar(30);变长的,30表示的是字符串最多能够存30个,少了不会补空格

创建临时的表------- temporary:
create temporary table t1(int id,name char(10));
临时表只对当时创建的有效,数据库关了之后在启动就没有了。

查看表的结构:
show columns fromxs; 查看当前的数据库的表的结构
show columns from tab1 from xsm; 查看指定数据库xsm中的表tab1的结构
show columns from xsm.tab1; 查看指定数据库xsm中的表tab1的结构

表格中插入数据
要求:如果该类为primarykey 则该列不能为空
有默认值的列,在插入时可用default
允许为null的列,在插入时可以使用null

如果插入数据时,并没有给每个列都提供值,则不能省去列名表
insert into xs(sid,sname)values('123444','张个');
insert [into] 表名(列表名)values(列表所在的位置);
insert into xs(sid,sname,ssex,sbirthday,memo)values('101101','张宏',1,'1980-6-4','该同学的特长是跑步')

在插入数据时,当我们把每一列都提供了值,可以缺省列表名
insert into xs values(1,'张三',0,18,98);
insert into xs(id) values(1);//插入指定的列,在表名后加括号,指定要加入的列
insert into xs(id) values(1,null);和insert into xs(id) values(1);一样,是在没有设为空时,系统会自动设为空

插入多行数据
insert into xs
(sid,sname,ssex)values('101120','aaa',1),('101121','bbb',1),('101122','ccc',0); 第二种:通过set语句指明要插入的每一行记录中每一列的值
insertinto xs
setsid='1001025',sname='ddd',ssex=0;

替换: replace into xs
values('100015','rtyy',0)

修改列表:
(1) 增加列
alter table 表格名
add column 列名 列类型 特性;
add column age tinyint unsigned; unsigned 是无符号类型,写入年龄时不能是负数,只能是大于等于0的数。
add column sex tinyint notnull;//修改表格的结构---添加性别列,column是表示列
add column sex tinyint not nulldefault 0;默认值为0
add column idcard char(18)unique after sname; unique 代表唯一性,在sname后面插入,默认插入是末尾

add column score float(8,3);//8是显示的长度,3是小数点之后的位数,如果多余3位,四舍五入

alter table ta
add column score int(8)zerofill int(8) 是显示的宽度,当显示的宽度小于8时,用0补,如果大于8时,长度原样显示

decimal(10,4) numeric(10,3)

(2)对已有列的修改 :设置、删除字符段的默认值 修改已有列的名字、修改已有列的类型以及特性
alter table xs
alter column sbirthdayset default '1990-2-2'; 设置默认值

alter table xs
alter column ssex dropdefault; 删除默认值

修改已有列的名字、修改已有列的类型以及特性
alter table xs
change column memo(旧的) smemo(新的) text; //change即可修改名字也可修改类型
rename table memo tosmemo 修改表的名字

alter tables xs
modify column smemovarchar(200) not null; //修改列的类型

alter ignore tablesxs
modify column smemovarchar(200) not null; //修改列的类型,不为空是修改不成功的
ignore是对不需要的数据删除

(3)删除已有的列:
alter table xs
drop column credit;

(11)删除表中的数据:
delete from xs; //删除所有的数据
删除符合条件的行
deletefrom xs
wheressex=1;

deletefrom xs
wheresid='101120';

deletefrom xs
wherescredit>60;

truncate是截断,在删除后是释放了内存中的存储页
truncate table xs;//删除表格中的所以数据 和deletefrom xs效果 一样,但truncate table xs的效率高

(12)修改表格中的数据:
update xs
set ssex=1
where sid='101122'; //修改的条件

update xs
set sbirthday='1990-8-1'
where ssex=0;

update xs
set scredit=scredit+10;//都加十分

(13)给表格重命名:
alter table xs
rename to 表名;
(14)修改表名命令:
rename table student to xs;
(15)表格的删除:
drop table [if exists] xsm;

(16)所有show 命令:
show databases;
show tables;
show columns from 表名; //显示当前数据库的结构
show columns from 表名 from 数据库 //显示指定数据库的结构
show columns from 数据库.表名 //显示指定数据库的结构
show create databaseschool 显示创建数据库school的详细语句
show create tablexs 显示创建数据库中表xs的详细语句
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: