使用命令行链接MySQL
- 语法:mysql-h服务器主机地址-u用户名-p密码(注:如果是本机,可以省略-h服务器主机地址,密码也可以省略,回车后在输入密码)
- 示例:mysql -u root -p root mysql -u root -p
SQL(Structured Query Language):结构化查询语言
- DML(数据操作语言):用来操作数据库中所包含的数据,命令举例:INSERT(新增)、UPDATE(修改)、DELETE(删除)
- DDL(数据定义语言):用来创建和删除数据库对象等操作,命令举例:CREATE(创建)、DROP(删除)、ALTER(修改)
- DQL(数据查询语言):用来对数据库中的数据进行查询,命令举例:SELECT(查询)
- DCL(数据控制语言):用来控制数据库组件的存取许可、存取权限等,命令举例:GRANT()、COMMIT()、ROLLBACK()
创建数据库:
- 语法:CREATE DATABASE 数据库名称;(注:结尾的‘ ; ’必不可少,而且必须是英文的分号)
- 例:CREATE DATABASE python3;
删除数据库;
- 语法:DROP DATABASE 数据库名称;
- 例:DROP DATABASE python3;
查看数据库列表:
- 语法:SHOW DATABASES;
选择数据库:
- 语法:USE 数据库名称;
- 例:USE python3;
以上是在命令行内的一些基本命令,下面我们介绍在SQLyog工具下的一些基本操作
MySQL数据类型:
UNSIGNED属性:标识为无符号数 ZEROFILL属性:宽度(位数)不足时,以0填充、
例:CREATE TABLE `tb_type` (`sid` INT(4) ZEROFILL);
INSERT INTO ` tb_type1 ` VALUE(12) ,(1234),(123456);
日期类型:
- DATE: 格式:YYYY-MM-DD
- TIME: 格式:hh:mm:ss
- DATETIME: 格式:YYYY-MM-DD hh:mm:ss
- TIMESTAMP: 格式:YYYYMMDDHHMMSS,精度为1秒
- YEAR: 格式:YYYY
字符串类型:
- CHAR[(M)]:定长字符串,长度 M字节
- VARCHAR[(M)]:可变字符串,长度为可变长度
- TINTTEXT:微型文本串,长度为0~2的8次方-1字节
- TEXT:文本串,长度为0~2的16次方-1字节
创建表:语法:
- CREATE TABLE [IF NOT EXISTS] 表名 (
- 字段1 数据类型 [字段属性|约束][索引][注释],
- ……
- 字段n 数据类型 [字段属性|约束][索引][注释]
- )[表类型][表字符集][注释];
例:
- #创建学生表
- CREATE TABLE `student`(
- `studentNo` INT(4) PRIMARY KEY,
- ` name` CHAR(10),
- ……);(注:多字段用‘,’隔开,保留字用撇号括起来“``”)
删除表:语法:
- DROP TABLE [IF EXISTS] 表名;(注:IF EXISTS判断是否存在,防报错)
例:
-
USE myschool;
DROP TABLE IF EXISTS `student`;
查看表是否存在:
-
USE 数据库;
SHOW 表名;
查看表定义:语法
-
DESCRIBE 表名;或DESC 表名;(注:DESC是DESCRIBE缩写)
为了避免DOS窗口乱码,可执行SET NAMES gbk;
修改表:语法:
-
ALTER TABLE 旧表名 RENAME [TO] 新表名;
添加字段:语法
-
ALTER TABLE 表名 ADD 字段名 数据类型 [属性];
修改字段:语法
- ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型 [属性];
删除字段:语法
- ALTER TABLE 表名 DROP 字段名;
字段的约束及属性:
练习:
- 在数据库中创建一个学生表,要求如下:
- 依照上述要求,创建表
添加主键:语法
- ALTER TABLE 表名 ADD CONSTRAINT 主键名
PRIMARY KEY 表名(主键字段);
添加外键:语法:
-
ALTER TABLE 表名 ADD CONSTRAINT 外键名
- FOREIGN KEY(外键字段)
- REFERENCES 关联表名(关联字段);