1、MySQQL由瑞典MySQL AB 公司开发,目前属于Oracle公司;
2、MySQL是开源的免费的;
3、启动MySQL服务: net start mysql(管理员:命令提示符);

4、关闭MySQL服务:net stop mysql;

5、MySQL登陆:mysql -uroot -p
参数 描述
-D, --database=name 代开指定数据库
--delimiter=name 指定分隔符
-h, --host=name 服务器名称
-p, --password[=name] 密码


6、MySQL退出:exit; quit; \q;

7、按键盘的上下键进行键盘翻越;
8、修改Mysql提示符:
连接客户端时通过参数指定;
shell>mysql -uroot -proot --prompt 提示符
链接上客户端后,同过prompt命令修改
mysql>prompt 提示符
9、MySQL常用命令:
显示当前服务器版本; SELECT VERSION();
显示当前日期时间: SELECT NOW();
显示当前用户: SELECT USER();
SQL语句必须以分号结尾;

10、创建数据库:{}必选的;| 做选择;[]可选;
CREATE {DATABASE|SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name
查看当前服务器下的数据列表:
SHOW {DATABASES|SCHEMAS} [LIKE 'pattern'| WHERE expr]

11、修改数据库:
ALTER {DATABASE|SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name;
12、删除数据库:
DROP {DATABASE|SCHEMA} [IF EXISTS] db_name

13、MySQL默认的端口号:3306 ,超级用户是:root
14:
整形:TINYINT(-128--127),SMALLINT(-32768--32767,无符号:0--16777215),
MEDIUMINT(-83388608--8388607,无符号:0--16777215),INT(更大),BIGINT(巨大)
浮点型:FLOAT[(M,D)] < DOUBLE[(M,D)] ;M是数字总位数,D是小数点后面的位数。如果M和D被省略,根据硬件允许的限制来保存值。单精度浮点精确到大约7位小数位。
日期实际型:YEAR/TIME/DATE/DATETIME/TIMESTAMP
字符型:CHAR(M):M个字节; VARCHAR(M):L+1个字节,其中L<=M且0<=M<=6355;TINYTEXT;TEXT;MEDIUMTEXT;LONGTEXT;ENUM('value1','value2',...);SET('value1','value2'...)
15、USE : 打开数据库:USE database_name; select database():显示当前的数据库;

16、创建数据表:
CREATE TABLE [IF NOT EXISTS] table_name(column_name data_type, ... )
查看数据表:SHOW TABLES
查看数据表列表:SHOW TABLES [FROM db_name] [LIKE 'pattern'|WHERE expr];
查看数据表结构:SHOW COLUMNS FROM tbl_name;
例子:mysql>CREATE TABLE tb1(username VARCHAR(20),age TINYINT UNSIGNED,salary FLOAT(8,2) UNSIGNED);

17、MySQL记录的插入与查找:INSERT
插入记录:INSERT [INTO] tb_name [(col_name,...)] VALUES(val,...)
SELECT:记录查找:SELECT expr,... FROM tb1_name;
如:mysql>SELECT * FROM tb1_name;
如:mysql>INSERT tbl(username,salary) VALUES ('John',4500.69);或者:INSERT tb1 VALUES('Tom',6660.55);

18、空值与非空;
NULL,字段值可以为空; NOT NULL ,字段值禁止为空:
例如:mysql>CREATE TABLE tb2(username VARCHAR(20) NOT NULL, age TINYINT UNSIGNET NULL);
mysql>INSERT tb2 VALUES('Tom',NULL);
mysql>INSERT tb2 VALUES(NULL,26);

19、AUTO_INCREMENT:
自动编号,且必须与住建组合使用;默认情况下,起始值为1,每次的增量为1;
例:mysql>CREATE TABLE tb3(id SMALLINT UNSIGNED AUTO_INCREMENT,username VARCHAR(30) NOT NULL);不能创建成功 X;

20、PRIMARY KEY
主键约束;每张数据表只能存在一个主键;主键保证记录的唯一性;主键自动为NOT NULL;
例:mysql>CREATE TABLE tb3(id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,username VARCHAR(20) NOT NULL);
mysql>INSERT INTO tb3 VALUES('Tom'),VALUES('John'),VALUES('Rose'),VALUES('Dimitar');
mysql>SELECT * FROM tb3;

例2:mysql>CREATE TABLE tb4(id SMALLINT UNSIGNED PRIMARY KEY,username VARCHAR(20) NOT NULL);
mysql>INSERT tb4 VALUES(4,'Tom'); mysql>INSERT tb4 VALUES(22,'John');成功;
mysql>INSERT tb4 VALUES(4,'Rose');错误;

21、MySQL唯一约束:UNIQUE KEY;
唯一约束;唯一约束可以保证记录的唯一性;唯一约束的字段可以为空值(NULL);每张数据表可以存在多个唯一约束
例:mysql>CREATE TABLE tb5(id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
->username VARCHAR(20) NOT NULL UNIQUE KEY,
->age TINYINT UNSIGNED);
查询:mysql>INSERT tb5(username,age) VALUES('Tom',22);
mysql>INSERT tb5(username,age) VALUES('Tom',22);错误,重名

22、MySQL默认约束:DEFAULT
默认值;当插入记录时,如果没有明确为字段赋值,则自动赋予默认值;
例:mysql>CREATE TABLE tb6(id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
->username VARCHAR(20) NOT NULL UNIQUE KEY, sex ENUM('1','2','3')default '3');
写入:mysql>INSERT tb6(username) VALUES('Tom'); mysql>SELECT *FROM tb6;

23、MySQL外键约束的要求解析:
约束保证数据的完整性和一致性; 约束分为表级约束和列级约束;
约束类型包括:NOT NULL(非空约束);PRIMARY KEY(主键约束);UNIQUE KEY(唯一约束);DEFAULT(默认约束);FOREIGN KEY(外键约束)
24、MySQL外键约束的要求解析:FOREIGN KEY:
父表和字表必须使用相同的存储引擎,而且禁止使用临时表; 数据表的存储引擎只能为InnoDB;
外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位必须相同;而字符的长度则可以不同。
外键列和参照列必须创建索引。如果外键列不存在索引的话,MySQL将自动创建索引。
步骤:编辑数据表的默认存储引擎:MySQL配置文件:default-stroage-engine=InnoDB
mysql>USE test; mysql>CREATE TABLE provinces(id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
->pname VARCHAR(20) NOT NULL);
mysql>CREATE TABLE users(id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,username VARCHAR(10) NOT NULL,
->pid BIGINT FOREIGN KEY (pid) REFERENCES provinces(id); 不能创建成功;
mysql>CREATE TABLE users(id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,username VARCHAR(10) NOT NULL,
->pid SMALLINT UNSIGNED FOREIGN KEY (pid) REFERENCES provinces(id);创建成功;
查看:mysql>SHOW INDEXES FROM provinces\G; mysql>SHOW CREATE TABLE users;
126

被折叠的 条评论
为什么被折叠?



