1.创建一个名称为mydb1的数据库:
create database mydb1;
2.显示所有数据库:
show databases;
3.创建一个使用utf-8字符集的mydb2数据库:
(注意这里的utf-8并没有'-')
create database mydb2 character set utf8;
4.创建一个使用utf-8字符集,并带校对规则的mydb3数据库 校对规则参考MySql帮助文档的 字符集支持>(完整列表参见10.10节,“MySQL支持的字符集和校对”。)中utf8的校对规则,默认是utf8_general_ci。
create database mydb3 character set utf8 collate utf8_general_ci;
5.查看指定数据库的创建语句:
show create database mydb1;
6.删除指定数据库:
drop database mydb3;
7.将指定数据库字符集编码改成gb2312:
alter database mydb1 character set gb2312;
8.备份数据库:
*首先需要退出MySql的命令行窗口,用quit或者exit语句退到windows命令行窗口。
mysqldump -u root -p mydb1>g:mydb1.sql
*然后进入MySql命令行,删除被备份的数据库。再创建这个数据库, 并且选中这个数据库 use mydb1
source g:\mydb1.sql;
9.创建表(基本语句)
CREATE TABLE table_name
(
field1 datatype,
field1 datatype,
field1 datatype,
)character set 字符集 collate 校对规则
10.修改表(注意:数据库名是不能修改的)
12.插入一条数据:
首先创建一个表
CREATE TABLE test (
userName varchar(100),
age int(11)
)
接着插入一条中文数据
insert into test (userName) values('张孝祥');
此时发现不能正确插入。
解决思路:
*首先看下插入的字符长度是否超过了数据库该字段限定的长度(发现并未超过)
*再查看表的字符集编码,show create table 表名 (发现是utf8,是可以保存中文数据的)
*一个mysql命令窗口就是一个操作数据库的客户端,相当于浏览器和服务器之间的关系。那么当客户端输入数据后传递给数据库,传递过去的数据肯定是以一个码表进行编码的,然后数据库再进行解码。当前mysql窗口默认是将送过去的数据用gb2312进行编码,但是不知数据库那边是以什么码表来进行解码的。此时,需要输入,show variables like 'character%';列出变量名类似于character的列表属性,发现其中有一条 character_set_client | utf8 表示数据库用utf8码表对客户端传递过来的数据进行解码。由此可看出编码和解码的码表不一致,所以不能存储中文字符。这时修改数据库的解码方式set character_set_client= gb2312; 这时候能成功存入中文字符。但是查询数据的时候发现,依旧是乱码。原因是,从数据库查询出来的数据用了一种错误的编码送给了客户端。(类似response)这时我们再输入show variables like 'character%'; 发现 character_set_results | utf8 此时 set character_set_results= gb2312;再查询数据就可以看到正确的中文字符了。
13.删除记录:
SELECT [DISTINCT] *|{column1, column2. column3..}
FROM table;
select distinct name,english from student;
name english
--查询英语分数在 80-90之间的同学
select name from student where english>80 and english<90;
select name from student where english between 80 and 90;
--查询数学分数为89,90,91的同学
select * from student where math=80 or math=90 or math=91;
select * from student where math in(80,90,91);
15.约束: