本学习笔记是照搬慕课网《与MySQL的零距离接触》内容,特此感谢!
1-1 mysql的安装与配置Windows环境下的MSI安装:1、安装:双击MSI文件->用户协议->选择Typical(典型安装)->instal->finish;2、配置:配置向导文件(C\\pf\\Mysql\mysqlsever\bin下的mysqlinstaceconfig.exe)->detailed(详细)或者(standard标准)->勾选windows服务和环境变量选项->设置root用户和密码->执行配置选项。3、mysql的目录结构:bin目录 存储可执行文件data目录 存储数据文件docs 文档include目录 存储包含的头文件lib目录 存储库文件share 错误消息和字符集文件1-2启动和关闭mysql服务1、计算机服务启动和关闭:net start mysql;net stop mysql; net restart mysql;2、使用mysql登录:MySQL -D(–database=name 打开指定数据库)–delimiter=name (指定分隔符) -h(–host=name 服务器名称)-p (–password[=name]密码)-P(–Port=端口) –prompt=name(设置提示符) -u(–user=name 用户名)-V (–versiom 版本信息)#MySQL -uroot -p -P3306 -h172.1.1.200 退出:MySQL>exit;或者quit;或者\q;修改MySQL提示符:连接客户端时: shell>mysql -uroot -proot –prompt 提示符连上客户端时: MySQL>prompt 提示符修改说明: \D 完整的日期 \d 当前数据库 \h 服务器名称 \u 当前用户#MySQL>PROMPT ‘\u@\h \d’ 》》》root@localhost(库名)>1-3MySQL常用命令查看版本号: SELECT VERSION();显示当前日期: SELECT NOW();显示当前用户 :SELECT USER();MySQL语句规范:①关键字和函数名称全部大写;②数据库名、表名称、字段名称全部用小写;③sql语句必须以分号结尾。创建数据库: CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name#CREATE DATABASE test_usr;查看数据库: SHOW {DATABASES | SCHEMAS} [LIKE ‘pattern’ | WHERE expr]#SHOW test_usr;修改数据库:ALTER {DATABASE | SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name;#修改数据库编码方式 ALTER DATABASE test_usr CHARACTER SET = utf8;删除数据库:DROP {DATABASE | SCHEMA} [IF EXISTS] db_name;{}符号为二选一 []符号为可选可不选 2-1数据类型与数据表的操作数据类型是指数据列、存储过程参数、表达式和局部变量的数据特征,觉得了数据的存储格式,代表了不同的数据类型。整型:TINNYINT (有符号位:-128到127 无符号位: 0到255)SMALLINT (有符号位 -32768到32767 无符号位0到65536)MEDIUMINT (有符号位:-2的23次方到2的23次方-1)INT (有符号位:-2的31次方到2的31次方-1 无符号位:0到2的32次方-1)BIGINT (有:-2的63位 到2的63位-1 无:2的64位-1)浮点型:FLOAT[(M.D)] M是数字的总位数,D是小数点后面的位数。单精度精确大约到7位小数。 DOUBLE[(M,D)]日期时间型:YEAR 1(存储需求)TIME 3DATE 3DATETIME 8TIMESTAMP 4字符型:CHAR(M) M个字节,0<=M<=255VARCHAR(M) L+1个字节,其中L<=M 且0<=M<=65535TINYTEXT L+1个字节,其中L<2的八次方TEXT L+2个字节,其中L<2的16次方MEDIUMTEXT L+3个字节,其中L<2的24次方LONGTEXT L+4个字节,其中L<2的32次方ENUM(‘value1’,’value2’…) 1或2个字节,取决于枚举值的个数,最多65535个值SET(‘value1’,’value2’…) 1/2/3/4或8个字节,取决于set成员的数目,最多64个成员2-2 数据表的操作打开数据库: USE +库名称; 如,USE test-user;查看数据库: SHOW DATABASE;查看打开的数据库: SELECT DATEBASE();创建数据表:CREATE TABLE [IF NOT EXISTS] table_name (column_name data_type,…);#CREATE TABLE tb1(username VACHAR(20),age TINYINT UNSIGNED, salary FLOAT(8,2) UNSIGNED);创建了一个包含名称 年龄 收入的表查看数据表:SHOW TABLES [FROM db_name] [LIKE ‘pattern’|WHERE expr]查看数据表的结构:SHOW COLUMNS FROM tbl_name;插入数据(写入记录):INSERT [INTO] tbl_name [(col_name,…)] VALUES(val,…);#INSERT tbl VALUES (‘Tom’,25,7886.34); #与表字段完全匹配的数据INSERT tb1(username,salary) VALUES(‘Jon’,4443); #指定列插入数据(限制为未插入位置允许空值)查找记录:SELECT expr,… FROM tbl_name;2-3修改数据表:添加单列:ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name]添加多列:ALTER TABLE tbl_name ADD [COLUMN] (col_name colum_definition,…)删除列:ALTER TABLE tbl_name DROP [COLUMN] col_name添加主键约束:ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_tye] (index_col_name,…)添加唯一约束:ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,…)添加外键约束:ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,…) reference_definition添加/删除默认约束:ALTER TABLE tbl_name ALTRT [COLUMN] col_name {SET DEFAULT literal |DROP DEFAULT}删除主键约束:ALTER TABLE tbl_name DROP PRIMARY KEY 删除唯一约束:ALTER TABLE tbl_name DROP {INDEX | KEY} index_name删除外键约束:ALTET TABLE tbl_name DROP FOREIGN KEY fk_symbol修改列定义:ALTER TABLE tbl_name MODIFY [COLUMN ] col_name column_definition [FIRST|AFTER col_name]修改列名称:ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST | AFTER col_name]修改数据表名方法1:ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name方法2:RENAME TABLE tbl_name TO new_tbl_name [,tbl_name2 TO new_tbl_name2] …