今天就开始学习MySQL的一些语句语法。(今天难得的空闲可以早一点写完这些)
首先,最重要的,也是我经常犯错误的地方(初学者经常错的地方吧)就是:
每条MySQL语句结束后一定要加上‘;’分号或者‘\G’,‘\g’表示语句结束(就是像C语言一样!)
1,连接和断开MySQL服务器
在MySQL中的bin文件下打开DOS窗口,输入
mysql -u【服务器名】 -p【密码】
这些是我们安装MySQL时设置好的,要记住!
正常启动:
如果弹出‘mysql’不是内部或外部命令。。。。。之类的,时环境变量未设置。
具体方法百度(我好懒)。
推出MySQL:
/>quit 或者/> exit
第六章 MySQL存储引擎与数据库操作管理
1、查看MySQL支持的存储引擎:
show engines或者show variables like 'have%'语句
2、查看当前数据库默认存储引擎
show variables like 'storage_engine';
3、查看文件属性:show variables like’文件名_data_file_path‘;
4、查看MySQL支持的字符集
输入:
show character set;
5、查看字符集默认校对规则
desc information_schema character_sets;
如gbk默认的校对规则为gbk_chinese_ci
其中结尾_ci(表示大小写不敏感)_cs(表示大小写敏感)_bin(二元)
字符集的选择:
1)如果应用中涉及对已有数据的导入,要充分考虑到数据库字符集对已有数据的兼容性,如果原有数据为GBK,若选择UTF-8会出现汉字无法转化的情况;
2)若只需要支持一般中文,数据量很大,性能要求高,选择GBK(双字节),UTF-8每个汉字占用3个字节;如果主要处理的英文字符,只有少量汉字选择UTF-8比较好。
3)大量的字符运算,如比较,排序等,选择定长字符集,定长字符集的处理速度比变长字符集的处理速度快。
4)考虑到用户端所使用的字符集编码格式,如果所有的客户端都支持相同的字符集,服务器优先选择该字符集作为数据库字符集,避免字符集转换带来的性能开销和数据损失。
6.2.4 MySQL字符集的设置
查询当前服务器字符集:
show variables like 'character_set_service';
查看校对规则:
show variables like 'collation_server';
设置服务器字符集和校对规则:
在my.cnf配置文件中设置,如果改成gbk,可以修改内容如下:
[mysqld]
character-set-server=gbk;
或者在服务器启动时指定:
mysqld-character-set-server=gbk;
2.数据库字符集和校对规则
查看当前数据库和校对规则可以使用:
show variables like 'character_set_database';
show variables like 'collation_database';
3.表的字符集和校对规则
可以通过alter table命令修改
显示当前字符集和校对规则
show create table 表名;
4.列字符和校对规则
(这里书上没怎么介绍,说遇到的概率太低。。。)
主要针对不同字段需要使用不同字符集的情况
5.连接字符集和校对规则
服务器和客户端之间交互的字符集和校对规则
character_set_client、character_set_connection、character_set_results
分别代表客户端、连接和返回结果是字符集,通常只有三个一致才能正确读出。
可以用set names * * *;同时修改这三个参数,需要每次连接数据库后都执行这个命令。
或者在my.cnf中设置
[mysql]
default-character-set=gbk;
这样服务器启动默认是使用gbk连接。
6.3 MySQL数据库操作管理
6.3.1创建数据库:
create database db_name;
可以添加判断是否同名数据库存在
create database if not exists db_name;
查看数据库命令:
show database;
查看数据库详细信息:
show create database 数据库名 ;
6.3.2修改数据库名称
修改数据库的字符集和校对规则
alter database 数据库名 character set * * *;
6.3.3 删除数据库
drop database if exists db_name;
其中的 if exists 是用来判断数据库是否存在,可以不写;
写的话错误的话会有提示信息。