MySQL—基础(SQL语句)

SQL语句:

    DDL(Data Definition Languages)语句:数据定义语言;操作对象:数据段、数据库、表、列、索引等。

    数据库:

        创建:CREATE DATABASE dbname;

        删除:DROP DATABASE dbname;

      表:

        创建:CREATE TABLE tablename(

                         id INT(5) auto_increment(自增关键词) PRIMARY KEY,

                         name VARCHAR(20) NOT NULL);

        删除:DROP TABLE tablename;

        修改:ALTER TABLE tablename RENAME new_tablename;(修改表名)

           ALTER TABLE tablename MODIFY name VARCHAR(10);(修改某列的属性)

           ALTER TABLE tablename ADD column_name VARCHAR(20) [FIRST/(AFTER col_name)](作为插入的位置);(添加一列)

           ALTER TABLE tablename DROP col_name;(删除一列)

           ALTER TABLE tablename CHANGE old_col_name new_col_name VARCHAR(20) [FIRST/(AFTER col_name)];(修改列名)

           (!CHANGE和MODEFY区别:CHANGE可以修改列名,MODIFY不可以,但是CHANGE两次列名都得写。)

     DML(Data Manipulation Languages)语句:数据操纵语句;操作对象:表的增删查改

         增:INSERT INTO tablename(col1_name,col2_name) values(value1,value2);

         删:DELETE FROM tablename [WHERE CONDITION];

         查:SELECT * FROM tablename;

         改:UPDATE tablename set col_name = ‘value‘ where id = 1;

         查询升级版(还会更新):

            ONE:

              SELECT dep,COUNT(*)

              FROM tablename

              GROUP BY dep

              HAVING COUNT(*) >= 2;

            TWO:

              SELECT *

              FROM tablename

              WHERE col_name=‘abc‘

              LIMIT 0,2(0,2意为:从序号0开始后面的两条数据,eg:2,2意为,从序号1开始后面的两条)

              ORDER BY col_name DESC;

            THREE:

              SELECT *

              FROM tablename

              WHERE dep IN(

                      SELECT dep

                      FROM tablename_1);(!如果子查询记录数唯一,IN可以用“=”代替。)

            FOUR:

              SELECT dep FROM tablename

              UNION / (UNION ALL)

              SELECT dep FROM tablename_2

         知识点:表的连接查询。

             WITH ROLLUP:对分类聚合的结果再汇总。

             HAVING和WHERE的区别:WHERE是聚合前进行条件筛选,HAVING是聚合后进行条件筛选,能用WHERE时优先使用WHERE这样对查询可以

                          做到一定的优化。

             UNION和UNION ALL的区别:UNION是将UNION ALL后的结果进行一次DISTINCT,去除重复记录后的结果。

     DCL(Data Control Languages)语句:数据控制语言(开发人员很少使用);操作对象:数据许可、访问级别

         授权:GRANT SELECT,INSERT ON tablename.* TO ‘Z1‘@‘localhost‘ IDENTIFY BY ‘123‘;

         收回:REVOKE INSERT ON tablename.* FROM ‘Z1‘@‘localhost‘;

        知识点:元数据,为数据的数据,如表名列名等表的各种属性名称。

            information_schema数据库就是用来记录MySQL中的元数据信息,此数据库是一个虚拟的数据库,物理上并不存在相关的目录和文件,全部为视图。

            视图:

               SCHEMATA:所有数据库信息。

               TABLES:数据库中的表信息

               COLUMNS:表中的列信息

               STATISTICS:表索引的信息

     

           

时间: 2024-10-21 04:16:39

MySQL—基础(SQL语句)的相关文章

mysql 基础sql语句

1.mysqladmin语句:  # 查看mysql版本 mysqladmin version  # 更改root用户密码 mysqladmin -u root -p原密码 password '新密码' # 查看数据库是否可用 mysqladmin -uroot -p ping # 创建数据库 mysqladmin -uroot -p create my_test # 显示服务器上的所有数据库 mysqlshow -uroot -p # 显示数据库my_test下有些什么表: mysqlshow

Effective MySQL之SQL语句最优化

推荐本SQL优化的书<Effective MySQL之SQL语句最优化>. 主要讲解:如何去分析SQL的性能.索引的原理.如何创建合适的索引.如何去分析线上系统的性能瓶颈. 另外还介绍了几个辅助工具: mysqldumpslow 来分析慢查询日志: Google开源的mysql-slow-query-log-parser 分析慢查询日志: 应用程序中使用MySQL Proxy来收集SQL语句.QEP.查询执行时间: 开源Maatkit检查数据库中的重复索引: Google的MySQL补丁,引入

Orecle Mysql 基本sql语句DDL & DML 介绍与总结 by 冰琉璃

先给大家普及一下安装mysql的简易方法:yum yum search mysql (查找关于mysql的内容) 找到后需要安装3个内容 mysql.i386 mysql-server.i386 mysql-devel.i386 安装过后 service mysqld start (启动mysql服务) 进入mysql mysql -h -u root -p 密码直接回车 开始密码为默然:以后可以在mysql里面改密码或者创建账号等操作 Mysql的sql语句大致分为4种  DDL (定义语句)

MySQL批处理SQL语句

MySQL 支持批处理的模式执行一批SQL语句,下面的例子就是实验MySQL如何在windows下批处理执行SQL语句. create table test(id int,name varchar(20)); insert into test values(1,'watson'); batchfile.txt里包含下面的一些SQL 语句,此文件放在windows系统的c:/batchmysql/batchfile.txt insert into test select * from test;

MySQL常用SQL语句(Python实现学生、课程、选课表增删改查)

以基本的学生选课为例,建立选课数据库,学生.班级.选课信息三张表,并分别对表进行插删改操作: import MySQLdb try: conn = MySQLdb.connect(host = 'localhost', user = 'root', passwd = 'root', db = 'xuanke', port = 3306) cur = conn.cursor() cur.execute("CREATE DATABASE xuanke") cur.execute("

MySQL数据库sql语句的一些简单优化

1.查询条件的先后顺序 有多个查询条件时,要把效率高能更精确筛选记录的条件放在后边.因为MySQL解析sql语句是从后往前的(不知是否准确). 例: select a.*,b.* from UsrInf a,OrgInf b where LogNam='njnydx9' and b.OrgId=a.blnorg SQL语句从后往前解析,把LogNam='njnydx9'换到后边,避免了更多结果集的连接,提高了执行效率 2.in的效率问题 看网上都说in相当于多个条件的or.实际测试后发现in的执

mysql数据库sql语句调优 、

mysql数据库sql语句调优 . 索引设计原则: 索引列一般为where子句中的列或连接字句中的列 尽量不对基数小的列做索引,如性别列 尽可能使用短索引:如果对字符列索引尽量指定最小长度. (short Keys are better,Integer best) create index cityname on city(city(10)); 复合索引前缀特性,索引的顺序很重要. key(a,b,c)联合索引: 可以走索引的组合:key(a),key(a,b ),key(a,b,c) 下列索引

转 mysql 中sql 语句查询今天、昨天、7天、近30天、本月、上一月 数据

转自 http://blog.csdn.net/ve_love/article/details/19685399 转 mysql 中sql 语句查询今天.昨天.7天.近30天.本月.上一月 数据

mysql操作SQL语句

二.数据库操作SQL语句1.显示服务器上当前存在什么数据库SHOW DATABASES; 2.创建名称为rewin的数据库CREATE DATABASE rewin; 3.删除名称为rewin的数据库DROP DATABASE rewin; 4.选择rewin数据库USE rewin; 三.表操作SQL语句(登录之后必须用以上的USE命令选择一个数据库,再进行表操作)1.显示当前数据库中存在什么表SHOW TABLES; 2.创建数据库表zhangyan:在mysql>后粘贴以下SQL语句,存储

mysql优化sql语句

mysql优化sql语句 常见误区 www.2cto.com 误区1: count(1)和count(primary_key) 优于 count(*) 很多人为了统计记录条数,就使用 count(1) 和 count(primary_key) 而不是 count(*) ,他们认为这样性能更好, 其实这是一个误区.对于有些场景,这样做可能性能会更差,应为数据库对 count(*) 计数操作做了一些特别的优化. 误区2: count(column) 和 count(*) 是一样的 这个误区甚至在很多