MySQL核心基础(二)之数据库基本操作


一.if exists 与 if not exists

1.在创建数据库、表、字段时不确定其数据库名、表名、字段名是否存在,使用if not exists, 可以降低警告等级, 表示不存在是才被创建,否则放弃
例:create database if not exists test_database;
2.在删除数据库、表、字段时不确定其数据库名、表名、字段名是否存在,使用if exists, 可以降低警告等级,表示存在时才被删除,否则放弃
例:drop if exists test_database;

二.库操作

1.新增数据库
语法:create database databaseName [charset collate];
说明:
a.数据库命名规范:
可以使用字母数字下划线组合
不能使用关键字,如果必须使用关键字,则需反引号(英文输入法状态下的1键的左边)引起来。
可以使用中文,但也需要反引号引起来,不建议使用中文数据库名。
b.charset库选项:设置数据库的字符集编码,省略则使用安装数据库软件时所选定的字符集编码
c.collate库选项:设置如何比较字符大小,一般以charset所设置的字符集编码对应
注:这两个库选项可以查看对应的db.opt
2.查看数据库
语法:
1)show databases;--查看所有已经存在的数据库(需要权限)
2)show databases like 'pattern';模糊匹配数据库名,(_)匹配一个字符,(%)匹配任何字符
3)show create database databaseName;--查看创建数据库时的命令
3.修改数据库
注:数据库名不可修改,只能修改数据库选项
语法:alter database databaseName [charset collate]
例:alter database test charset utf8;
4.删除数据库
注:将会删除数据库文件夹所有数据和数据表中存储的数据,强烈建议删除数据库
语法:drop databaseName;

三.表结构操作

注:新增表之前需要事先指明所选用的数据库:use databaseName;否则在表操作时需要显式的指定数据:create table dabaseName.tableName...;
1.新增表
语法:create table tableName (FieldName1 type opt, FieldName2 type opt) [charset engine collate]
说明:
a.字段必须有对应的数据类型,后面紧跟字段属性,多个字段用逗号隔开
b.表可以通过charset指定字符集编码
c.engine:表示数据库存储引擎,默认为InnoDB,其他还有Myisam
d.collate:表示校对值
2.查看表
语法:
1)show tables; 或者 show tables like 'pattrn' ; -- 查看表的基本信息
2)desc | describe tableName 或者 show columns form tableName; --查看表结构
3)show create table tableName; -- 查看创建表时的语句
3.修改表
语法:
1)alter table oldTableName rename newTableName; -- 修改表名
2) rename table oldTableName to new TableName; -- 修改表名
3) alter table tableName [charset engine collate]; -- 修改表选项
4.删除表
语法:drop table tableName; --将同时删除表文件

四.字段操作

1.新增字段
语法:alter table tableName add FieldName type [位置, opt] 
说明:位置first表示该字段插入到表最前面,after[FieldName]表示在指定字段后面插入,不指定则默认为最后一个字段
    同时增加多个字段用逗号隔开:alter table tableName add Field1 type, add Field2 type opt...
2.修改字段
注:修改字段必须重新指定类型
语法:
1) alter table tableName change oldFieldName newFiledName type opt; -- 修改字段名,必须重新指定类型和属性
2) alter table tableName modify FieldName newType [opt]; -- 修改字段类型及属性以及位置
例:alter table user modify new_age tinyint unsigned not null default 1 after name;
3.删除字段
语法:alter table tableName drop fieldName;

五.数据操作

1.插入数据
语法:insert into tableName ([FieldName]) values(value1,value2,...);
说明:
a.字段列表可以省略,但字段值的数量及数值必须与默认字段列表一一对应,包括其数据类型
b,值列表可以有多个,即一次插入多条记录,中间用逗号隔开
c.除数值类型外,其他类型必须加上引号
d.严格模式下,自增不能使用空字符串
2.查询数据
语法:select (字段列表) from 表名 [where 字句] [order by asc|desc]; -- *(星号)匹配所有字段
3.更新数据
语法:update tableName set FieldName=value [where 字句];
说明:必须通过where字句指定更新符合条件的记录,否则全部更新
例:update user set new_age=10 where username='mark1';
4.删除数据(删除记录)
语法:delete from tableName [where字句]
说明:必须通过where字句指定要删除的记录,否则该表数据将被全部删除
例:delete from user where new_age=0;


<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<END>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值