码迷,mamicode.com
首页 > 数据库 > 详细

MySQL基本操作

时间:2017-08-06 22:00:42      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:解决乱码   UI   数据类型   一个   大小   databases   att   desc   转义   

启动MYSQL:mysql.exe -hlocalhost -p3306 -uroot –p

退出:exit,quit,\q

 

数据库操作:

1、 新增数据库

create database 数据库名称 【选项】

 

库选项:用来约束数据库

 -字符集设定:charset/character set 具体字符集(数据存储的编码格式):常用的字符集:GBK和UTF8

-校对集设定:collate 具体校对集(数据比较的规则)

例:create database mydatabase charset utf8

 

数据库名字不能用关键字或保留字(将来可能用到的)如果非要用,那么必须加上反引号(Esc键下面的键在英文状态下输入)

中文数据库也是可以的,但要保证服务器能识别,但最好不用,当然也可以告诉服务器当前的中文字符集是什么—set names gbk

 

2、 查看数据库

1) 查看所有数据库

show databases

 

2)查看指定数据库:模糊查询

show databases likes ‘pattern‘  --pattern是匹配模式

%:表示匹配多个字符

_:表示匹配单个字符

但含有通配符时通过“\”转义。

3)查看“数据库创建语句“

    show create database 数据库名字

 

3、 更新数据库

数据库的修改仅限库选项:字符集和校对集(校对集依赖字符集)

alter database 数据库名字【库选项】

alter database mydatabase charset utf8

 

4、 删除数据库

drop database 数据库名字

 

表操作

1、 新增数据表

create table [if not exists] 表名(

字段名字 数据类型,

字段名字 数据类型,

。。。。。最后一行不需要逗号

)【表选项】

[if not exists]:如果表不存在,就创建,否则不创建

 

表选项:

        -字符集设定:charset/character set 具体字符集

        -校对集设定:collate 具体校对集

        -存储引擎:engine 具体的存储引擎(innodb和myisam)

注意:数据表创建要指定数据库

1) 显示指定表所属数据库:create table if not exists mydatabase.student

2) 先进入数据库:use 数据库名字

 

例:

create table if not exists mydatabase.student (

name varchar(10),

gender varchar(10),

number varchar(10),

age int

)charset utf8;

 

2、 查看数据表

1) 查看所有表

show tables

 

2) 查看指定数据库:模糊查询

show tables likes ‘pattern‘

 

3) 查看表创建语句

show create table 表名【\g或\G】

\g纵向显示  \G横向显示

 

4) 查看表中字段信息

yfDesc\describe\show columns from 表名

例:desc\describe student ; show columns from student

字段名      字段类型 是否允许为空 索引   默认值     扩充

 

3、 修改数据表

1) 修改表名

rename table 老表名 to 新表名

 

2) 修改表选项

alter table 表名 表选项

例:alter table student charset gbk

 

3) 修改字段

-新增字段

alter table 表名 add【column】字段名 数据类型【列属性】【位置】

位置:First:第一个位置

          After: 在哪个字段之后;默认在最后一个字段

-修改字段

alter table 表名 modify 字段名 数据类型【属性】【位置】

例:alter table student modify number char(10) after name;

-重命名字段

alter table 表名change 旧字段 新字段 数据类型 【属性】【位置】

例; alter table student change gender sex char(10) after name

-删除字段

alter table 表名 drop 字段名

 

4、 删除数据表

drop table 表名1,表名2.......

 

 

 

数据操作

1、 新增数据(char,中文加单引号)

1) 给全表插入数据,不需要指定字段列表,但数据顺序要和字段顺序一致。

insert into values(值列表)【,(值列表)】.......可以一次性插入多条记录

 

2) 给部分字段插入数据

insert into (字段列表)values(值列表)【,(值列表)】.......可以一次性插入多条记录

 

 

2、 查看数据(同SQL Server)

select 字段1,字段2.....

from table

where 条件

 

3、 更新数据

Updata 表名

set 字段=值

[where 条件]

 

 

4、删除数据

delete from table

[where条件]

 

 

中文数据问题

中文数据问题实际上是字符集问题

 

查看服务器支持的所有字符集

show character set;

 

查看服务器默认的对外处理的字符集

show variables like ‘character_set%’

 

 

解决插入问题:

修改服务器字默认的接收的字符集为客户端字符集

set character_set_client=”字符集”

 

解决乱码问题;

修改服务器字默认的发送给客户端的字符集为客户端字符集

set character_set_results=”字符集”

 

连接层:character_set_connection,是字符集转变的中介,如果同意,效率更高,也可以不改

 

set names “字符集”的作用等价于修改以上三者

 

set 变量=值 修改的知识会话级别(当前客户端,当次连接有效)

 

 

校对集问题

校对集:数据比较的方式

 

校对集的三种格式:

_bin:binary,二进制比较,去除二进制位,一位一位比较区分大小写

       _cs:case sensitive,大小写敏感,区分大小写

       _ci:case insensitive, 大小写不敏感,不区分大小写

 

查看数据库所支持的所有校对集:

show collation

 

常见的校对集:utf8_bin,utf8_general_ci, gbk_chinese_ci,gbk_bin

 

校对集必须在没有数据之前设置好,如果有了数据在进行校对集修改,那么修改无效

 

MySQL基本操作

标签:解决乱码   UI   数据类型   一个   大小   databases   att   desc   转义   

原文地址:http://www.cnblogs.com/muyian/p/7295919.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!