关于mysql的常见操作SQL语句
来源:互联网 发布:java工程师工作规划 编辑:程序博客网 时间:2024/05/22 09:39
登陆mysql: mysql -hlocalhost -uroot -proot创建数据库:create database dbname charset utf8查看数据库:show databases;选择数据库:use dbname;删除数据库:drop database dbname;创建数据表: create table tbname ( id int(10) primary key auto_increment, name char(10) not null defaule '', ....... )engine myisam/innodb charset utf8/gbk设定环境编码的命令:set names gbk;查看数据表:show tables;查看建表语句:show create table tbname;查看表结构:desc tbname;修改表(增加列):alter table tbname add 列名称 列类型 修改表(修改列):alter table tbname change 旧列名 新列名 列类型修改表(删除列):alter table tbname drop 列名称索引1. 提高查询速度,但是降低了增删改的速度,所以使用索引时,要综合考虑2. 索引不是越多越好,一般我们在常出现于条件表达式中的列加索引3. 值越分散的列,索引的效果越好索引类型1. primary key 主键索引2. index 普通索引3. unique index 唯一性索引4. fulltext index 全文索引修改表(增加主键索引):alter table tbname add primary key(主键所在列名)修改表(删除主键索引):alter table tbname drop primary key;修改表(增加唯一索引):alter table tbname add unique index 索引名(列名);修改表(增加全文索引):alter table tbname add fulltext index 索引名(列名);修改表(删除普通索引):alter table tbname drop unique index 索引名;清空数据表内容:truncate tbname;删除表:drop table admin;插入数据: insert into tbname (列1,列2,列...) values(val1,val2,val...) 指定值与列一一对应 insert into tbname values(val1,val2,val3...) 全部列都插入值 insert into tbname values(val1,val2,val3...),(val1,val2,val3...),(val1,val2,val3...) 插入多行数据删除数据: delete from tbname where 列名=列值;修改数据: update tbname set 列名1=新列值1,列名2=新列值2 where 条件;查询数据: select 列1,列2,列3 from tbname;数据类型: 整型 tinyint (0-255/-128-127) smallint (0-65536/-32768-32767) mediumint () int bigint 共5种类型 unsigned 无符号(不能为负) zerofill (0 填充) M 填充后的宽度 举例: tinyint unsigned; tinyint(6) zerofill;数值型: 浮点型: float double 格式: float(M,D) D 表示小数位数 unsinged zerofill;字符型: char(M) 定长 varchar(M) 变长 text 列 实存字符 实占空间 char(M) 0<=i<=M M varchar(M) 0<=i<=M i+1 year YYYY 范围: 1901~2155. 可输入值2位和4位(如98,2012) date YYYY-MM-DD 如: 2010-03-04日期时间类型: time HH:MM:SS 如: 19:26:32 datetime YYYY-MM-DD HH:MM:SS 如: 2010-03-14 19:26:32 timestamp YYYY-MM-DD HH:MM:SS 特性:不用赋值,该列会为自己赋当前的具体时间查询详解: (1) 条件查询 where a. select 列1,列2,列3.. from tbname where 列x=列x值; b. 比较运算符 select 列1,列2,列3.. from tbname where 列x[=|!=|<|>|<=|>=]列x值; c. like,not like ('%'匹配任意多个字符,'_'匹配任意单个字符) d. in,not in,between and e. is null,is not null (2) 分组 group by 配合5个聚合函数使用 max(最大),min(最小),sum(求和),avg(求平均),count(统计) (3) 筛选 having (4) 排序 order by (5) 限制 limit连接查询:左连接: 例句 select 列1,列2,列3... from tbnameA left join tbnameB on tbnameA.列1 = tbnameB.列2;右连接: 例句 select 列1,列2,列3... from tbnameB right join tbnameA on tbnameA.列1 = tbnameB.列2;左右连接都是以在左边的表的数据结构为准,沿着左表查询。内连接是以两张表都有的共同部分数据为准,也就是左右连接的数据之交集。子查询:where 型子查询:内层sql的返回值在where后作为条件表达式的一部分例句: select * from tableA where colA = (select colB from tableB where ...);from 型子查询:内层sql查询结果,作为一张表,供外层的sql语句再次查询例句:select * from (select * from ...) as tableName where ...字符集客服端sql编码 character_set_client服务器转化后的sql编码 character_set_connection服务器返回给客户端的结果集编码 character_set_results快速把以上3个变量设为相同值: set names 字符集存储引擎 engine:Myisam/Innodb1. Myisam 速度快 不支持事务 回滚2. Innodb 速度慢 支持事务 回滚事务执行顺序:a. 开启事务 start transactionb. 运行sql c. 提交,同时生效\回滚 commit\rollback触发器: trigger监视地点: 表监视行为: 增 删 改触发时间:a fter\before触发事件: 增 删 改创建触发器语法:create trigger tgNameafter/before insert/delete/update on tableNamefor each rowsql 触发语句删除触发器: drop trigger tgName;
0 0
- 关于mysql的常见操作SQL语句
- [SQL]常见的mysql 语句
- 常见SQL操作语句
- MySQL的常见SQL语句范例
- SQL语句 sqlite常见操作
- 关于sql语句的几种常见修改(sql server)
- 关于Python操作Mysql数据库时SQL语句的格式问题(mysql语句中的双引号问题)
- MYSQL关于时间日期的sql语句
- mysql关于时间日期的sql语句
- 关于mysql SQL语句的细节
- Mysql各种关于函数的操作语句
- 关于MySql中数据库、表的操作以及增删改查等一些SQL语句注意事项
- 常见数据库Sql Server,Oracle和MySQL的分页语句
- mysql基础操作、sql技巧和sql的常见优化
- MySql启用SQL trace追踪SQL语句的操作: general_log
- mysql 基础操作 sql语句
- MySQL基本操作SQL语句
- mysql sql语句表操作
- java io包字节流类图详解
- hihocoder 1436——GeoHash一·编码解码(Geohash)
- 解决IE下不支持placeholder属性可以根据自己的需要去扩展.
- 欢迎使用CSDN-markdown编辑器
- RxJava 与 Retrofit 的简单实践
- 关于mysql的常见操作SQL语句
- Java字节码指令简介
- nodejs文件操作
- 这是一篇新博客
- pgsql_json字段使用(复杂的json格式_ json_to_recordset函数的使用)
- 判断集合中是否有两个数的和等于某个给定整数
- html5触摸滑动
- python3.5 连接 mysql
- Excel VBA